Import Geant4 11.1.0.beta source tree
This commit is contained in:
+4
-4
@@ -9,10 +9,10 @@
|
||||
/source/global/ @gcosmo @drbenmorgan @gunterfolger
|
||||
|
||||
# Run, Event, and Detector Response
|
||||
/source/run/ @makotoasai @jrmadsen
|
||||
/source/event/ @makotoasai @jrmadsen
|
||||
/source/digits_hits/ @makotoasai @jrmadsen
|
||||
/source/processes/scoring @makotoasai @jrmadsen
|
||||
/source/run/ @makotoasai @drbenmorgan
|
||||
/source/event/ @makotoasai @drbenmorgan
|
||||
/source/digits_hits/ @makotoasai @drbenmorgan
|
||||
/source/processes/scoring @makotoasai @drbenmorgan
|
||||
|
||||
# Tracking
|
||||
/source/tracking/ @ts-kek @shogo0416 @makotoasai
|
||||
|
||||
+4
-4
@@ -10,10 +10,10 @@
|
||||
/source/global/ @gcosmo @bmorgan @gunter
|
||||
|
||||
# Run, Event, and Detector Response
|
||||
/source/run/ @asaim @jmadsen
|
||||
/source/event/ @asaim @jmadsen
|
||||
/source/digits_hits/ @asaim @jmadsen
|
||||
/source/processes/scoring @asaim @jmadsen
|
||||
/source/run/ @asaim @bmorgan
|
||||
/source/event/ @asaim @bmorgan
|
||||
/source/digits_hits/ @asaim @bmorgan
|
||||
/source/processes/scoring @asaim @bmorgan
|
||||
|
||||
# Tracking
|
||||
/source/tracking/ @tsasaki @shokada @asaim
|
||||
|
||||
+2
-2
@@ -31,8 +31,8 @@ project(Geant4
|
||||
DESCRIPTION "C++ toolkit for simulating the passage of particles through matter"
|
||||
HOMEPAGE_URL "https://geant4.cern.ch")
|
||||
set(${PROJECT_NAME}_VERSION_MAJOR 11)
|
||||
set(${PROJECT_NAME}_VERSION_MINOR 0)
|
||||
set(${PROJECT_NAME}_VERSION_PATCH 2)
|
||||
set(${PROJECT_NAME}_VERSION_MINOR 1)
|
||||
set(${PROJECT_NAME}_VERSION_PATCH 0)
|
||||
set(${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}")
|
||||
|
||||
# - Prepend our own CMake Modules to the search path
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+122
-24
@@ -1,47 +1,145 @@
|
||||
-------------------------------------------------------------------
|
||||
# Category cmake History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top).
|
||||
It must **not** be used as a substitute for writing good git commit messages!
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
History file for Geant4 CMake build scripts.
|
||||
It DOES NOT substitute the SVN log-message one should put at every
|
||||
committal in the SVN repository !
|
||||
## 2022-06-09 Igor Semeniouk (cmake-V11-00-32)
|
||||
- G4ConfigureGNUMakeHelpers.cmake (geant4.[c]sh, geant4.bat generation )
|
||||
- use the environment variable GEANT4_DATA_DIR as top data dir
|
||||
- the environment variables for individual dataset commented in scripts
|
||||
|
||||
Entries MUST use the following format:
|
||||
## 2022-06-07 Ben Morgan (cmake-V11-00-31)
|
||||
- Rationalize interlinked PTL/TBB build options
|
||||
|
||||
## 2022-05-30 Guilherme Amadio (cmake-V11-00-30)
|
||||
- Add options --sh and --csh to geant4-config script
|
||||
|
||||
MONTH DAY YEAR - INITIAL.SURNAME (TAG)
|
||||
- FILECHANGED : Document changes made.
|
||||
## 2022-05-18 Guilherme Amadio (cmake-V11-00-29)
|
||||
- Use more standard install location for CMake files
|
||||
- Remove version from default installation directories
|
||||
- Add required configuration to be able to generate DEB/RPM packages with CPack
|
||||
|
||||
- OTHERFILECHANGED : Document changes made.
|
||||
## 2022-05-16 Guilherme Amadio (cmake-V11-00-28)
|
||||
- Add source validation exception for G4FindDataDir.hh generated header
|
||||
|
||||
## 2022-05-03 Ben Morgan (cmake-V11-00-27)
|
||||
- Preliminary configuration support for Qt5 and Qt6
|
||||
|
||||
You should keep two lines between each date.
|
||||
TAG is optional. If your changes fix a bug listed in the Geant4 Bugzilla,
|
||||
add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].
|
||||
## 2022-04-27 Gunter Folger (cmake-V11-00-26)
|
||||
- add new dataset G4NDL 4.7 with new TermalScattering data
|
||||
|
||||
## 2022-04-11 Ben Morgan (cmake-V11-00-25)
|
||||
- Allow library composition to be overriden in developer builds
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
## 2022-04-11 Ben Morgan (cmake-V11-00-24)
|
||||
- Do not use "readlink -f" to support pre-Monterey macOS systems
|
||||
|
||||
06 April 2022 - Ben Morgan (cmake-V10-07-56)
|
||||
## 2022-04-08 Ben Morgan (cmake-V11-00-23)
|
||||
- Add -Og to GNU/Clang default debug flags
|
||||
|
||||
## 2022-04-06 Ben Morgan (cmake-V11-00-22)
|
||||
- Don't add CLHEP_INCLUDE_DIRS directly through include_directories to prevent potential
|
||||
issues with it holding relative paths (reported by Seth Johnson)
|
||||
|
||||
7 March 2022 - Gunter Folger (cmake-V10-07-55)
|
||||
## 2022-04-05 Ben Morgan (cmake-V11-00-21)
|
||||
- Copy .clang-tidy file to build directory to assist run-clang-tidy reporting.
|
||||
|
||||
## 2022-04-04 Igor Semeniouk (cmake-V11-00-20)
|
||||
- In G4ConfigurePkgConfigHelpers.cmake, geant4-config.in (geant4-config generation)
|
||||
- new flag "--features", add vtk and qt3d feature
|
||||
- allow use md5sun if openssl missing
|
||||
- canonicalize prefix path
|
||||
- In G4ConfigureGNUMakeHelpers.cmake (geant4.[c]sh, geant4.bat generation )
|
||||
- allow full path source in zsh, sh
|
||||
- unset local variables at the end
|
||||
- introduced GEANT4_DATA_DIR, all DS path relative to this
|
||||
|
||||
## 2022-03-25 Ben Morgan (cmake-V11-00-19)
|
||||
- Add commands for working with categories analagous to module commands
|
||||
|
||||
## 2022-03-28 Ben Morgan (cmake-V11-00-18)
|
||||
- Remove retired G4tasking library from configuration files
|
||||
|
||||
## 2022-03-28 Ben Morgan (cmake-V11-00-17)
|
||||
- Fix typo in G4DeveloperAPI that prevented install of headers
|
||||
|
||||
## 2022-03-25 Ben Morgan (cmake-V11-00-16)
|
||||
- Do not use CMAKE_VERBOSE_MAKEFILE when building tests
|
||||
|
||||
## 2022-03-22 Ben Morgan (cmake-V11-00-15)
|
||||
- Add geant4_module_sources command to enable appending of headers/sources
|
||||
to a module after creation
|
||||
|
||||
## 2022-03-18 Ben Morgan (cmake-V11-00-14)
|
||||
- Change default value of GEANT4_BUILD_BUILTIN_BACKTRACE to OFF
|
||||
|
||||
## 2022-03-15 Ben Morgan (cmake-V11-00-13)
|
||||
- Rationalize declaration and use of internal builds of required externals CLHEP,
|
||||
zlib, expat, PTL and tools libraries.
|
||||
|
||||
## 2022-03-10 Ben Morgan (cmake-V11-00-12)
|
||||
- Remove deprecated functions in G4DeveloperAPI
|
||||
- Support declaration and composition of header-only modules and libraries
|
||||
|
||||
## 2022-03-03 Ben Morgan (cmake-V11-00-11)
|
||||
- Provide GEANT4_BUILD_ENABLE_ASSERTIONS option to enable assert() in all
|
||||
release build modes (Release, RelWithDebInfo, MinSizeRel)
|
||||
- Addresses GitLab Issue #104
|
||||
- Forward `CMAKE_<LANG>_FLAGS[_<MODE>]` flags to `geant4_add_test` so that
|
||||
a consistent set is used through the project.
|
||||
|
||||
## 2022-03-07 Gunter Folger (cmake-V11-00-10)
|
||||
- fix in CMakeCPackOptions.cmake.in to avoid PATH with only /, without \, for g4_small.bmp
|
||||
|
||||
11 February 2022 - Ben Morgan (cmake-V10-07-54)
|
||||
## 2022-02-11 Gunter Folger (cmake-V11-00-09)
|
||||
- add new dataset G4EMLOW 8.1
|
||||
|
||||
## 2022-02-11 Igor Semeniouk (cmake-V11-00-08)
|
||||
- Bug fix introduced in cmake-V11-00-06
|
||||
- G4ConfigureGNUMakeHelpers.cmake - Fix for _g4tc_prepend_path on geant4.bat genaration ( Windows only)
|
||||
- History - fix comment syntax
|
||||
|
||||
## 2022-02-11 Ben Morgan (cmake-V11-00-07)
|
||||
- Apply [GitHub PR 37](https://github.com/Geant4/geant4/pull/37) from gondiaz.
|
||||
- Add G4ptl and G4tasking libraries to link list in geant4-config
|
||||
- Fixup: place G4tasking in correct location in dependency list
|
||||
- Fixup: Update order of G4analysis for ALICE patch:
|
||||
- https://github.com/alisw/geant4/commit/ee32bad38f5ccfac458869d8c546e0df474f5529
|
||||
|
||||
## 2022-02-11 Igor Semeniouk (cmake-V11-00-06)
|
||||
- Bug fix in functions _g4tc_prepend_path, _g4tc_apppend_path on geant4.bat genaration ( Windows only)
|
||||
|
||||
## 2022-02-10 Igor Semeniouk (cmake-V11-00-05)
|
||||
- In G4ConfigureGNUMakeHelpers.cmake
|
||||
- not set LD_LIBRARY_PATH configuration on MacOS (Darwin)
|
||||
- add paths to DLL into PATH on Windows
|
||||
|
||||
## 2022-02-08 Ben Morgan (cmake-V11-00-04)
|
||||
- Enable ToolsSG and backends based on use of external libraries (Qt, X11, Xm, Win32)
|
||||
- Backends made non-mutally exclusive
|
||||
- Remove GEANT4_USE_TOOLSSG public CMake option
|
||||
- Addresses #117
|
||||
|
||||
## 2022-02-06 Gabriele Cosmo (cmake-V11-00-03)
|
||||
- Updated compilation flags for Intel icc/icx compilers.
|
||||
|
||||
## 2022-02-05 Gunter Folger (cmake-V11-00-02)
|
||||
- Add icpx/icx compiler to G4ConfigureGNUMakeHelpers.cmake
|
||||
|
||||
## 2022-01-28 Ben Morgan (cmake-V11-00-01)
|
||||
- Correct logic error in checking whether module is already composed
|
||||
- **DEPRECATIONS**
|
||||
- `geant4_define_module`
|
||||
- `geant4_global_library_target`
|
||||
- Implementation reduced to emitting a CMake warning message on what to replace with
|
||||
|
||||
## 2021-12-10 Ben Morgan (cmake-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
09 November 2021 - Ben Morgan (cmake-V10-07-53)
|
||||
- Only configure public release contribution guide if present
|
||||
|
||||
+425
-315
@@ -1,350 +1,460 @@
|
||||
# Module for locating Intel's Threading Building Blocks (TBB).
|
||||
# - Find ThreadingBuildingBlocks include dirs and libraries
|
||||
# Use this module by invoking find_package with the form:
|
||||
# find_package(TBB
|
||||
# [REQUIRED] # Fail with error if TBB is not found
|
||||
# ) #
|
||||
# Once done, this will define
|
||||
#
|
||||
# Customizable variables:
|
||||
# TBB_ROOT_DIR
|
||||
# Specifies TBB's root directory.
|
||||
# TBB_FOUND - system has TBB
|
||||
# TBB_INCLUDE_DIRS - the TBB include directories
|
||||
# TBB_LIBRARIES - TBB libraries to be lined, doesn't include malloc or
|
||||
# malloc proxy
|
||||
# TBB::tbb - imported target for the TBB library
|
||||
#
|
||||
# Read-only variables:
|
||||
# TBB_FOUND
|
||||
# Indicates whether the library has been found.
|
||||
# TBB_VERSION_MAJOR - Major Product Version Number
|
||||
# TBB_VERSION_MINOR - Minor Product Version Number
|
||||
# TBB_INTERFACE_VERSION - Engineering Focused Version Number
|
||||
# TBB_COMPATIBLE_INTERFACE_VERSION - The oldest major interface version
|
||||
# still supported. This uses the engineering
|
||||
# focused interface version numbers.
|
||||
#
|
||||
# TBB_INCLUDE_DIRS
|
||||
# Specifies TBB's include directory.
|
||||
# TBB_MALLOC_FOUND - system has TBB malloc library
|
||||
# TBB_MALLOC_INCLUDE_DIRS - the TBB malloc include directories
|
||||
# TBB_MALLOC_LIBRARIES - The TBB malloc libraries to be lined
|
||||
# TBB::malloc - imported target for the TBB malloc library
|
||||
#
|
||||
# TBB_LIBRARIES
|
||||
# Specifies TBB libraries that should be passed to target_link_libararies.
|
||||
#
|
||||
# TBB_<COMPONENT>_LIBRARIES
|
||||
# Specifies the libraries of a specific <COMPONENT>.
|
||||
#
|
||||
# TBB_<COMPONENT>_FOUND
|
||||
# Indicates whether the specified <COMPONENT> was found.
|
||||
# TBB_MALLOC_PROXY_FOUND - system has TBB malloc proxy library
|
||||
# TBB_MALLOC_PROXY_INCLUDE_DIRS = the TBB malloc proxy include directories
|
||||
# TBB_MALLOC_PROXY_LIBRARIES - The TBB malloc proxy libraries to be lined
|
||||
# TBB::malloc_proxy - imported target for the TBB malloc proxy library
|
||||
#
|
||||
#
|
||||
# Copyright (c) 2012 Sergiu Dotenco
|
||||
# This module reads hints about search locations from variables:
|
||||
# ENV TBB_ARCH_PLATFORM - for eg. set it to "mic" for Xeon Phi builds
|
||||
# ENV TBB_ROOT or just TBB_ROOT - root directory of tbb installation
|
||||
# ENV TBB_BUILD_PREFIX - specifies the build prefix for user built tbb
|
||||
# libraries. Should be specified with ENV TBB_ROOT
|
||||
# and optionally...
|
||||
# ENV TBB_BUILD_DIR - if build directory is different than ${TBB_ROOT}/build
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
# Modified by Robert Maynard from the original OGRE source
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTTBBLAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
#-------------------------------------------------------------------
|
||||
# This file is part of the CMake build system for OGRE
|
||||
# (Object-oriented Graphics Rendering Engine)
|
||||
# For the latest info, see http://www.ogre3d.org/
|
||||
#
|
||||
# The contents of this file are placed in the public domain. Feel
|
||||
# free to make use of it in any way you like.
|
||||
#-------------------------------------------------------------------
|
||||
#
|
||||
#=============================================================================
|
||||
# Copyright 2010-2012 Kitware, Inc.
|
||||
# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file COPYING-CMAKE-SCRIPTS for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
|
||||
INCLUDE (FindPackageHandleStandardArgs)
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
#=============================================================================
|
||||
# FindTBB helper functions and macros
|
||||
#
|
||||
# Paths
|
||||
|
||||
# Use TBBConfig.cmake if possible.
|
||||
|
||||
set(_tbb_find_quiet)
|
||||
if (TBB_FIND_QUIETLY)
|
||||
set(_tbb_find_quiet QUIET)
|
||||
endif ()
|
||||
set(_tbb_find_components)
|
||||
set(_tbb_find_optional_components)
|
||||
foreach (_tbb_find_component IN LISTS TBB_FIND_COMPONENTS)
|
||||
if (TBB_FIND_REQUIRED_${_tbb_find_component})
|
||||
list(APPEND _tbb_find_components "${_tbb_find_component}")
|
||||
else ()
|
||||
list(APPEND _tbb_find_optional_components "${_tbb_find_component}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
unset(_tbb_find_component)
|
||||
find_package(TBB CONFIG ${_tbb_find_quiet}
|
||||
COMPONENTS ${_tbb_find_components}
|
||||
OPTIONAL_COMPONENTS ${_tbb_find_optional_components})
|
||||
unset(_tbb_find_quiet)
|
||||
unset(_tbb_find_components)
|
||||
unset(_tbb_find_optional_components)
|
||||
if (TBB_FOUND)
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
#====================================================
|
||||
# Fix the library path in case it is a linker script
|
||||
#====================================================
|
||||
function(tbb_extract_real_library library real_library)
|
||||
if(NOT UNIX OR NOT EXISTS ${library})
|
||||
set(${real_library} "${library}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
#Read in the first 4 bytes and see if they are the ELF magic number
|
||||
set(_elf_magic "7f454c46")
|
||||
file(READ ${library} _hex_data OFFSET 0 LIMIT 4 HEX)
|
||||
if(_hex_data STREQUAL _elf_magic)
|
||||
#we have opened a elf binary so this is what
|
||||
#we should link to
|
||||
set(${real_library} "${library}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(READ ${library} _data OFFSET 0 LIMIT 1024)
|
||||
if("${_data}" MATCHES "INPUT \\(([^(]+)\\)")
|
||||
#extract out the .so name from REGEX MATCH command
|
||||
set(_proper_so_name "${CMAKE_MATCH_1}")
|
||||
|
||||
#construct path to the real .so which is presumed to be in the same directory
|
||||
#as the input file
|
||||
get_filename_component(_so_dir "${library}" DIRECTORY)
|
||||
set(${real_library} "${_so_dir}/${_proper_so_name}" PARENT_SCOPE)
|
||||
else()
|
||||
#unable to determine what this library is so just hope everything works
|
||||
#and pass it unmodified.
|
||||
set(${real_library} "${library}" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#===============================================
|
||||
# Do the final processing for the package find.
|
||||
#===============================================
|
||||
macro(findpkg_finish PREFIX TARGET_NAME)
|
||||
if (${PREFIX}_INCLUDE_DIR AND ${PREFIX}_LIBRARY)
|
||||
set(${PREFIX}_FOUND TRUE)
|
||||
set (${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIR})
|
||||
set (${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARY})
|
||||
else ()
|
||||
if (${PREFIX}_FIND_REQUIRED AND NOT ${PREFIX}_FIND_QUIETLY)
|
||||
message(FATAL_ERROR "Required library ${PREFIX} not found.")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (NOT TARGET "TBB::${TARGET_NAME}")
|
||||
if (${PREFIX}_LIBRARY_RELEASE)
|
||||
tbb_extract_real_library(${${PREFIX}_LIBRARY_RELEASE} real_release)
|
||||
endif ()
|
||||
if (${PREFIX}_LIBRARY_DEBUG)
|
||||
tbb_extract_real_library(${${PREFIX}_LIBRARY_DEBUG} real_debug)
|
||||
endif ()
|
||||
add_library(TBB::${TARGET_NAME} UNKNOWN IMPORTED)
|
||||
set_target_properties(TBB::${TARGET_NAME} PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${${PREFIX}_INCLUDE_DIR}")
|
||||
if (${PREFIX}_LIBRARY_DEBUG AND ${PREFIX}_LIBRARY_RELEASE)
|
||||
set_target_properties(TBB::${TARGET_NAME} PROPERTIES
|
||||
IMPORTED_LOCATION "${real_release}"
|
||||
IMPORTED_LOCATION_DEBUG "${real_debug}"
|
||||
IMPORTED_LOCATION_RELEASE "${real_release}")
|
||||
elseif (${PREFIX}_LIBRARY_RELEASE)
|
||||
set_target_properties(TBB::${TARGET_NAME} PROPERTIES
|
||||
IMPORTED_LOCATION "${real_release}")
|
||||
elseif (${PREFIX}_LIBRARY_DEBUG)
|
||||
set_target_properties(TBB::${TARGET_NAME} PROPERTIES
|
||||
IMPORTED_LOCATION "${real_debug}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#mark the following variables as internal variables
|
||||
mark_as_advanced(${PREFIX}_INCLUDE_DIR
|
||||
${PREFIX}_LIBRARY
|
||||
${PREFIX}_LIBRARY_DEBUG
|
||||
${PREFIX}_LIBRARY_RELEASE)
|
||||
endmacro()
|
||||
|
||||
#===============================================
|
||||
# Generate debug names from given release names
|
||||
#===============================================
|
||||
macro(get_debug_names PREFIX)
|
||||
foreach(i ${${PREFIX}})
|
||||
set(${PREFIX}_DEBUG ${${PREFIX}_DEBUG} ${i}d ${i}D ${i}_d ${i}_D ${i}_debug ${i})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
#===============================================
|
||||
# See if we have env vars to help us find tbb
|
||||
#===============================================
|
||||
macro(getenv_path VAR)
|
||||
set(ENV_${VAR} $ENV{${VAR}})
|
||||
# replace won't work if var is blank
|
||||
if (ENV_${VAR})
|
||||
string( REGEX REPLACE "\\\\" "/" ENV_${VAR} ${ENV_${VAR}} )
|
||||
endif ()
|
||||
endmacro()
|
||||
|
||||
#===============================================
|
||||
# Couple a set of release AND debug libraries
|
||||
#===============================================
|
||||
macro(make_library_set PREFIX)
|
||||
if (${PREFIX}_RELEASE AND ${PREFIX}_DEBUG)
|
||||
set(${PREFIX} optimized ${${PREFIX}_RELEASE} debug ${${PREFIX}_DEBUG})
|
||||
elseif (${PREFIX}_RELEASE)
|
||||
set(${PREFIX} ${${PREFIX}_RELEASE})
|
||||
elseif (${PREFIX}_DEBUG)
|
||||
set(${PREFIX} ${${PREFIX}_DEBUG})
|
||||
endif ()
|
||||
endmacro()
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Now to actually find TBB
|
||||
#
|
||||
#------------------------------------------------------------------------------#
|
||||
|
||||
IF(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||
SET(_TBB_CHECK_COMPONENTS ON)
|
||||
ELSE()
|
||||
SET(_TBB_CHECK_COMPONENTS OFF)
|
||||
ENDIF()
|
||||
# Get path, convert backslashes as ${ENV_${var}}
|
||||
getenv_path(TBB_ROOT)
|
||||
|
||||
FIND_PATH(TBB_ROOT_DIR
|
||||
NAMES include/tbb/tbb.h
|
||||
PATHS ENV TBBROOT
|
||||
ENV TBB40_INSTALL_DIR
|
||||
ENV TBB30_INSTALL_DIR
|
||||
ENV TBB22_INSTALL_DIR
|
||||
ENV TBB21_INSTALL_DIR
|
||||
ENV TBB_ROOT_DIR
|
||||
DOC "TBB root directory")
|
||||
# initialize search paths
|
||||
set(TBB_PREFIX_PATH ${TBB_ROOT} ${ENV_TBB_ROOT})
|
||||
set(TBB_INC_SEARCH_PATH "")
|
||||
set(TBB_LIB_SEARCH_PATH "")
|
||||
|
||||
FIND_PATH(TBB_INCLUDE_DIR
|
||||
|
||||
# If user built from sources
|
||||
set(TBB_BUILD_PREFIX $ENV{TBB_BUILD_PREFIX})
|
||||
if (TBB_BUILD_PREFIX AND ENV_TBB_ROOT)
|
||||
getenv_path(TBB_BUILD_DIR)
|
||||
if (NOT ENV_TBB_BUILD_DIR)
|
||||
set(ENV_TBB_BUILD_DIR ${ENV_TBB_ROOT}/build)
|
||||
endif ()
|
||||
|
||||
# include directory under ${ENV_TBB_ROOT}/include
|
||||
list(APPEND TBB_LIB_SEARCH_PATH
|
||||
${ENV_TBB_BUILD_DIR}/${TBB_BUILD_PREFIX}_release
|
||||
${ENV_TBB_BUILD_DIR}/${TBB_BUILD_PREFIX}_debug)
|
||||
endif ()
|
||||
|
||||
|
||||
# For Windows, let's assume that the user might be using the precompiled
|
||||
# TBB packages from the main website. These use a rather awkward directory
|
||||
# structure (at least for automatically finding the right files) depending
|
||||
# on platform and compiler, but we'll do our best to accommodate it.
|
||||
# Not adding the same effort for the precompiled linux builds, though. Those
|
||||
# have different versions for CC compiler versions and linux kernels which
|
||||
# will never adequately match the user's setup, so there is no feasible way
|
||||
# to detect the "best" version to use. The user will have to manually
|
||||
# select the right files. (Chances are the distributions are shipping their
|
||||
# custom version of tbb, anyway, so the problem is probably nonexistent.)
|
||||
if (WIN32 AND MSVC)
|
||||
set(COMPILER_PREFIX "vc7.1")
|
||||
if (MSVC_VERSION EQUAL 1400)
|
||||
set(COMPILER_PREFIX "vc8")
|
||||
elseif(MSVC_VERSION EQUAL 1500)
|
||||
set(COMPILER_PREFIX "vc9")
|
||||
elseif(MSVC_VERSION EQUAL 1600)
|
||||
set(COMPILER_PREFIX "vc10")
|
||||
elseif(MSVC_VERSION EQUAL 1700)
|
||||
set(COMPILER_PREFIX "vc11")
|
||||
elseif(MSVC_VERSION EQUAL 1800)
|
||||
set(COMPILER_PREFIX "vc12")
|
||||
elseif(MSVC_VERSION GREATER_EQUAL 1900)
|
||||
set(COMPILER_PREFIX "vc14")
|
||||
endif ()
|
||||
|
||||
# for each prefix path, add ia32/64\${COMPILER_PREFIX}\lib to the lib search path
|
||||
foreach (dir IN LISTS TBB_PREFIX_PATH)
|
||||
if (CMAKE_CL_64)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia64/${COMPILER_PREFIX}/lib)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia64/${COMPILER_PREFIX})
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/intel64/${COMPILER_PREFIX}/lib)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/intel64/${COMPILER_PREFIX})
|
||||
else ()
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia32/${COMPILER_PREFIX}/lib)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32/${COMPILER_PREFIX})
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# For OS X binary distribution, choose libc++ based libraries for Mavericks (10.9)
|
||||
# and above and AppleClang
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND
|
||||
NOT CMAKE_SYSTEM_VERSION VERSION_LESS 13.0)
|
||||
set (USE_LIBCXX OFF)
|
||||
cmake_policy(GET CMP0025 POLICY_VAR)
|
||||
|
||||
if (POLICY_VAR STREQUAL "NEW")
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
set (USE_LIBCXX ON)
|
||||
endif ()
|
||||
else ()
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
set (USE_LIBCXX ON)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (USE_LIBCXX)
|
||||
foreach (dir IN LISTS TBB_PREFIX_PATH)
|
||||
list (APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/libc++ ${dir}/libc++/lib)
|
||||
endforeach ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# check compiler ABI
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(COMPILER_PREFIX)
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
|
||||
list(APPEND COMPILER_PREFIX "gcc4.8")
|
||||
endif()
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
list(APPEND COMPILER_PREFIX "gcc4.7")
|
||||
endif()
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
|
||||
list(APPEND COMPILER_PREFIX "gcc4.4")
|
||||
endif()
|
||||
list(APPEND COMPILER_PREFIX "gcc4.1")
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(COMPILER_PREFIX)
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0) # Complete guess
|
||||
list(APPEND COMPILER_PREFIX "gcc4.8")
|
||||
endif()
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.6)
|
||||
list(APPEND COMPILER_PREFIX "gcc4.7")
|
||||
endif()
|
||||
list(APPEND COMPILER_PREFIX "gcc4.4")
|
||||
else() # Assume compatibility with 4.4 for other compilers
|
||||
list(APPEND COMPILER_PREFIX "gcc4.4")
|
||||
endif ()
|
||||
|
||||
# if platform architecture is explicitly specified
|
||||
set(TBB_ARCH_PLATFORM $ENV{TBB_ARCH_PLATFORM})
|
||||
if (TBB_ARCH_PLATFORM)
|
||||
foreach (dir IN LISTS TBB_PREFIX_PATH)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/${TBB_ARCH_PLATFORM}/lib)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/${TBB_ARCH_PLATFORM})
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
foreach (dir IN LISTS TBB_PREFIX_PATH)
|
||||
foreach (prefix IN LISTS COMPILER_PREFIX)
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/intel64)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/intel64/${prefix})
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/intel64/lib)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/intel64/${prefix}/lib)
|
||||
else ()
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32/${prefix})
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia32/lib)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia32/${prefix}/lib)
|
||||
endif ()
|
||||
endforeach()
|
||||
endforeach ()
|
||||
|
||||
# add general search paths
|
||||
foreach (dir IN LISTS TBB_PREFIX_PATH)
|
||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib ${dir}/Lib ${dir}/lib/tbb
|
||||
${dir}/Libs)
|
||||
list(APPEND TBB_INC_SEARCH_PATH ${dir}/include ${dir}/Include
|
||||
${dir}/include/tbb)
|
||||
endforeach ()
|
||||
|
||||
set(TBB_LIBRARY_NAMES tbb)
|
||||
get_debug_names(TBB_LIBRARY_NAMES)
|
||||
|
||||
|
||||
find_path(TBB_INCLUDE_DIR
|
||||
NAMES tbb/tbb.h
|
||||
HINTS ${TBB_ROOT_DIR}
|
||||
PATH_SUFFIXES include
|
||||
DOC "TBB include directory")
|
||||
PATHS ${TBB_INC_SEARCH_PATH})
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
#
|
||||
# Library suffixes
|
||||
#
|
||||
#------------------------------------------------------------------------------#
|
||||
find_library(TBB_LIBRARY_RELEASE
|
||||
NAMES ${TBB_LIBRARY_NAMES}
|
||||
PATHS ${TBB_LIB_SEARCH_PATH})
|
||||
find_library(TBB_LIBRARY_DEBUG
|
||||
NAMES ${TBB_LIBRARY_NAMES_DEBUG}
|
||||
PATHS ${TBB_LIB_SEARCH_PATH})
|
||||
make_library_set(TBB_LIBRARY)
|
||||
|
||||
IF(MSVC11)
|
||||
SET(_TBB_COMPILER vc11)
|
||||
ELSEIF(MSVC10)
|
||||
SET(_TBB_COMPILER vc10)
|
||||
ELSEIF(MSVC90)
|
||||
SET(_TBB_COMPILER vc9)
|
||||
ELSEIF(MSVC80)
|
||||
SET(_TBB_COMPILER vc8)
|
||||
ELSEIF(WIN32)
|
||||
SET(_TBB_COMPILER vc_mt)
|
||||
ENDIF(MSVC11)
|
||||
findpkg_finish(TBB tbb)
|
||||
|
||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
SET(_TBB_POSSIBLE_LIB_SUFFIXES lib/intel64/${_TBB_COMPILER})
|
||||
SET(_TBB_POSSIBLE_BIN_SUFFIXES bin/intel64/${_TBB_COMPILER})
|
||||
ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
SET(_TBB_POSSIBLE_LIB_SUFFIXES lib/ia32/${_TBB_COMPILER})
|
||||
SET(_TBB_POSSIBLE_BIN_SUFFIXES bin/ia32/${_TBB_COMPILER})
|
||||
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
#if we haven't found TBB no point on going any further
|
||||
if (NOT TBB_FOUND)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
LIST(APPEND _TBB_POSSIBLE_LIB_SUFFIXES lib/$ENV{TBB_ARCH_PLATFORM})
|
||||
#=============================================================================
|
||||
# Look for TBB's malloc package
|
||||
set(TBB_MALLOC_LIBRARY_NAMES tbbmalloc)
|
||||
get_debug_names(TBB_MALLOC_LIBRARY_NAMES)
|
||||
|
||||
IF(UNIX)
|
||||
FOREACH(_VERSION 4.7 4.4 4.1)
|
||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
LIST(APPEND _TBB_POSSIBLE_LIB_SUFFIXES lib/intel64/gcc${_VERSION})
|
||||
ELSE()
|
||||
LIST(APPEND _TBB_POSSIBLE_LIB_SUFFIXES lib/ia32/gcc${_VERSION})
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
find_path(TBB_MALLOC_INCLUDE_DIR
|
||||
NAMES tbb/tbb.h
|
||||
PATHS ${TBB_INC_SEARCH_PATH})
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
#
|
||||
# TBB library
|
||||
#
|
||||
#------------------------------------------------------------------------------#
|
||||
find_library(TBB_MALLOC_LIBRARY_RELEASE
|
||||
NAMES ${TBB_MALLOC_LIBRARY_NAMES}
|
||||
PATHS ${TBB_LIB_SEARCH_PATH})
|
||||
find_library(TBB_MALLOC_LIBRARY_DEBUG
|
||||
NAMES ${TBB_MALLOC_LIBRARY_NAMES_DEBUG}
|
||||
PATHS ${TBB_LIB_SEARCH_PATH})
|
||||
make_library_set(TBB_MALLOC_LIBRARY)
|
||||
|
||||
FIND_LIBRARY(TBB_LIBRARY_RELEASE
|
||||
NAMES tbb
|
||||
HINTS ${TBB_ROOT_DIR}
|
||||
PATH_SUFFIXES ${_TBB_POSSIBLE_LIB_SUFFIXES}
|
||||
DOC "TBB release library")
|
||||
findpkg_finish(TBB_MALLOC tbbmalloc)
|
||||
|
||||
FIND_LIBRARY(TBB_LIBRARY_DEBUG
|
||||
NAMES tbb_debug
|
||||
HINTS ${TBB_ROOT_DIR}
|
||||
PATH_SUFFIXES ${_TBB_POSSIBLE_LIB_SUFFIXES}
|
||||
DOC "TBB debug library")
|
||||
#=============================================================================
|
||||
# Look for TBB's malloc proxy package
|
||||
set(TBB_MALLOC_PROXY_LIBRARY_NAMES tbbmalloc_proxy)
|
||||
get_debug_names(TBB_MALLOC_PROXY_LIBRARY_NAMES)
|
||||
|
||||
IF(TBB_LIBRARY_RELEASE AND TBB_LIBRARY_DEBUG)
|
||||
IF(NOT TBB_LIBRARY)
|
||||
SET(TBB_LIBRARY optimized ${TBB_LIBRARY_RELEASE} debug ${TBB_LIBRARY_DEBUG}
|
||||
CACHE DOC "TBB library" FORCE)
|
||||
ENDIF(NOT TBB_LIBRARY)
|
||||
LIST(APPEND _TBB_ALL_LIBS optimized ${TBB_LIBRARY_RELEASE} debug ${TBB_LIBRARY_DEBUG})
|
||||
ELSE()
|
||||
IF(TBB_LIBRARY_DEBUG)
|
||||
IF(NOT TBB_LIBRARY)
|
||||
SET(TBB_LIBRARY ${TBB_LIBRARY_DEBUG} CACHE FILEPATH "TBB library" FORCE)
|
||||
ENDIF(NOT TBB_LIBRARY)
|
||||
LIST(APPEND _TBB_ALL_LIBS ${TBB_LIBRARY_DEBUG})
|
||||
ENDIF(TBB_LIBRARY_DEBUG)
|
||||
find_path(TBB_MALLOC_PROXY_INCLUDE_DIR
|
||||
NAMES tbb/tbbmalloc_proxy.h
|
||||
PATHS ${TBB_INC_SEARCH_PATH})
|
||||
|
||||
IF(TBB_LIBRARY_RELEASE)
|
||||
IF(NOT TBB_LIBRARY)
|
||||
SET(TBB_LIBRARY ${TBB_LIBRARY_RELEASE} CACHE FILEPATH "TBB library" FORCE)
|
||||
ENDIF(NOT TBB_LIBRARY)
|
||||
LIST(APPEND _TBB_ALL_LIBS ${TBB_LIBRARY_RELEASE})
|
||||
ENDIF()
|
||||
ENDIF(TBB_LIBRARY_RELEASE AND TBB_LIBRARY_DEBUG)
|
||||
find_library(TBB_MALLOC_PROXY_LIBRARY_RELEASE
|
||||
NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES}
|
||||
PATHS ${TBB_LIB_SEARCH_PATH})
|
||||
find_library(TBB_MALLOC_PROXY_LIBRARY_DEBUG
|
||||
NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES_DEBUG}
|
||||
PATHS ${TBB_LIB_SEARCH_PATH})
|
||||
make_library_set(TBB_MALLOC_PROXY_LIBRARY)
|
||||
|
||||
findpkg_finish(TBB_MALLOC_PROXY tbbmalloc_proxy)
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
#
|
||||
# Components
|
||||
#
|
||||
#------------------------------------------------------------------------------#
|
||||
#=============================================================================
|
||||
#parse all the version numbers from tbb
|
||||
if(NOT TBB_VERSION)
|
||||
if (EXISTS "${TBB_INCLUDE_DIR}/oneapi/tbb/version.h")
|
||||
file(STRINGS
|
||||
"${TBB_INCLUDE_DIR}/oneapi/tbb/version.h"
|
||||
TBB_VERSION_CONTENTS
|
||||
REGEX "VERSION")
|
||||
else()
|
||||
#only read the start of the file
|
||||
file(STRINGS
|
||||
"${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h"
|
||||
TBB_VERSION_CONTENTS
|
||||
REGEX "VERSION")
|
||||
endif()
|
||||
|
||||
SET(_TBB_POSSIBLE_COMPONENTS preview malloc malloc_proxy)
|
||||
string(REGEX REPLACE
|
||||
".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1"
|
||||
TBB_VERSION_MAJOR "${TBB_VERSION_CONTENTS}")
|
||||
|
||||
FOREACH(_TBB_COMPONENT ${TBB_FIND_COMPONENTS})
|
||||
string(REGEX REPLACE
|
||||
".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1"
|
||||
TBB_VERSION_MINOR "${TBB_VERSION_CONTENTS}")
|
||||
|
||||
STRING(REPLACE "_debug" "" _TBB_COMPONENT ${_TBB_COMPONENT})
|
||||
STRING(TOUPPER ${_TBB_COMPONENT} _TBB_COMPONENT_UPPER)
|
||||
SET(_TBB_LIBRARY_BASE TBB_${_TBB_COMPONENT_UPPER}_LIBRARY)
|
||||
string(REGEX REPLACE
|
||||
".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1"
|
||||
TBB_INTERFACE_VERSION "${TBB_VERSION_CONTENTS}")
|
||||
|
||||
IF(${_TBB_COMPONENT} MATCHES "malloc*")
|
||||
SET(_TBB_LIBRARY_NAME tbb${_TBB_COMPONENT})
|
||||
ELSE()
|
||||
SET(_TBB_LIBRARY_NAME tbb_${_TBB_COMPONENT})
|
||||
ENDIF()
|
||||
string(REGEX REPLACE
|
||||
".*#define TBB_COMPATIBLE_INTERFACE_VERSION ([0-9]+).*" "\\1"
|
||||
TBB_COMPATIBLE_INTERFACE_VERSION "${TBB_VERSION_CONTENTS}")
|
||||
|
||||
FIND_LIBRARY(${_TBB_LIBRARY_BASE}_RELEASE
|
||||
NAMES ${_TBB_LIBRARY_NAME}
|
||||
HINTS ${TBB_ROOT_DIR}
|
||||
PATH_SUFFIXES ${_TBB_POSSIBLE_LIB_SUFFIXES}
|
||||
DOC "TBB ${_TBB_COMPONENT} release library")
|
||||
set(TBB_VERSION "${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR}")
|
||||
|
||||
FIND_LIBRARY(${_TBB_LIBRARY_BASE}_DEBUG
|
||||
NAMES ${_TBB_LIBRARY_NAME}_debug
|
||||
HINTS ${TBB_ROOT_DIR}
|
||||
PATH_SUFFIXES ${_TBB_POSSIBLE_LIB_SUFFIXES}
|
||||
DOC "TBB ${_TBB_COMPONENT} debug library")
|
||||
endif()
|
||||
|
||||
MARK_AS_ADVANCED (${_TBB_LIBRARY_BASE} ${_TBB_LIBRARY_BASE}_DEBUG)
|
||||
|
||||
# default assumption
|
||||
SET(TBB_${_TBB_COMPONENT_UPPER}_FOUND ON)
|
||||
SET(TBB_${_TBB_COMPONENT}_FOUND ON)
|
||||
|
||||
IF(${_TBB_LIBRARY_BASE}_DEBUG AND ${_TBB_LIBRARY_BASE}_RELEASE)
|
||||
SET(${_TBB_LIBRARY_BASE}
|
||||
debug ${${_TBB_LIBRARY_BASE}_DEBUG}
|
||||
optimized ${${_TBB_LIBRARY_BASE}_RELEASE} CACHE STRING
|
||||
"TBB ${_TBB_COMPONENT} library")
|
||||
LIST(APPEND _TBB_ALL_LIBS
|
||||
optimized ${${_TBB_LIBRARY_BASE}_RELEASE}
|
||||
debug ${${_TBB_LIBRARY_BASE}_DEBUG})
|
||||
LIST(APPEND TBB_FOUND_COMPONENTS ${_TBB_LIBRARY_BASE} ${_TBB_LIBRARY_BASE}_debug)
|
||||
SET(TBB_${_TBB_COMPONENT_UPPER}_LIBRARY ${${_TBB_LIBRARY_BASE}_RELEASE})
|
||||
ELSEIF(${_TBB_LIBRARY_BASE}_DEBUG)
|
||||
SET(${_TBB_LIBRARY_BASE} ${${_TBB_LIBRARY_BASE}_DEBUG})
|
||||
LIST(APPEND _TBB_ALL_LIBS ${${_TBB_LIBRARY_BASE}_DEBUG})
|
||||
LIST(APPEND TBB_FOUND_COMPONENTS ${_TBB_LIBRARY_BASE})
|
||||
SET(TBB_${_TBB_COMPONENT_UPPER}_LIBRARY ${${_TBB_LIBRARY_BASE}_DEBUG})
|
||||
ELSEIF(${_TBB_LIBRARY_BASE}_RELEASE)
|
||||
SET(${_TBB_LIBRARY_BASE} ${${_TBB_LIBRARY_BASE}_RELEASE}
|
||||
CACHE FILEPATH "TBB ${_TBB_COMPONENT} library")
|
||||
LIST(APPEND _TBB_ALL_LIBS ${${_TBB_LIBRARY_BASE}_RELEASE})
|
||||
LIST(APPEND TBB_FOUND_COMPONENTS ${_TBB_LIBRARY_BASE}_debug)
|
||||
SET(TBB_${_TBB_COMPONENT_UPPER}_LIBRARY ${${_TBB_LIBRARY_BASE}_RELEASE})
|
||||
ELSE()
|
||||
# Component missing: record it for a later report
|
||||
LIST(APPEND _TBB_MISSING_COMPONENTS ${_TBB_COMPONENT})
|
||||
SET(TBB_${_TBB_COMPONENT}_FOUND OFF)
|
||||
SET(TBB_${_TBB_COMPONENT_UPPER}_FOUND OFF)
|
||||
ENDIF()
|
||||
|
||||
IF(${_TBB_LIBRARY_BASE})
|
||||
# setup the TBB_<COMPONENT>_LIBRARIES variable
|
||||
SET(TBB_${_TBB_COMPONENT_UPPER}_LIBRARIES ${${_TBB_LIBRARY_BASE}})
|
||||
ELSE()
|
||||
LIST(APPEND _TBB_MISSING_LIBRARIES ${_TBB_LIBRARY_BASE})
|
||||
ENDIF()
|
||||
|
||||
ENDFOREACH(_TBB_COMPONENT ${TBB_FIND_COMPONENTS})
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
#
|
||||
# Standard variables
|
||||
#
|
||||
#------------------------------------------------------------------------------#
|
||||
IF(_TBB_ALL_LIBS)
|
||||
SET(TBB_LIBRARIES ${_TBB_ALL_LIBS})
|
||||
ENDIF()
|
||||
|
||||
IF(TBB_INCLUDE_DIR)
|
||||
SET(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
|
||||
ENDIF()
|
||||
|
||||
IF(DEFINED _TBB_MISSING_COMPONENTS AND _TBB_CHECK_COMPONENTS)
|
||||
IF(NOT TBB_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "One or more TBB components were not found:")
|
||||
# Display missing components indented, each on a separate line
|
||||
FOREACH(_TBB_MISSING_COMPONENT ${_TBB_MISSING_COMPONENTS})
|
||||
MESSAGE(STATUS " " ${_TBB_MISSING_COMPONENT})
|
||||
ENDFOREACH(_TBB_MISSING_COMPONENT ${_TBB_MISSING_COMPONENTS})
|
||||
ENDIF(NOT TBB_FIND_QUIETLY)
|
||||
ENDIF(DEFINED _TBB_MISSING_COMPONENTS AND _TBB_CHECK_COMPONENTS)
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
#
|
||||
# Library's version
|
||||
#
|
||||
#------------------------------------------------------------------------------#
|
||||
|
||||
SET(_TBB_VERSION_HEADER ${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h)
|
||||
|
||||
IF(EXISTS ${_TBB_VERSION_HEADER})
|
||||
FILE(READ ${_TBB_VERSION_HEADER} _TBB_VERSION_CONTENTS)
|
||||
|
||||
STRING(REGEX REPLACE ".*#define TBB_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1"
|
||||
TBB_VERSION_MAJOR "${_TBB_VERSION_CONTENTS}")
|
||||
STRING(REGEX REPLACE ".*#define TBB_VERSION_MINOR[ \t]+([0-9]+).*" "\\1"
|
||||
TBB_VERSION_MINOR "${_TBB_VERSION_CONTENTS}")
|
||||
|
||||
SET(TBB_VERSION ${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR})
|
||||
SET(TBB_VERSION_COMPONENTS 2)
|
||||
ENDIF()
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PROGRAM(LIB_EXECUTABLE NAMES lib
|
||||
HINTS
|
||||
"$ENV{VS110COMNTOOLS}/../../VC/bin"
|
||||
"$ENV{VS100COMNTOOLS}/../../VC/bin"
|
||||
"$ENV{VS90COMNTOOLS}/../../VC/bin"
|
||||
"$ENV{VS71COMNTOOLS}/../../VC/bin"
|
||||
"$ENV{VS80COMNTOOLS}/../../VC/bin"
|
||||
DOC "Library manager")
|
||||
|
||||
MARK_AS_ADVANCED (LIB_EXECUTABLE)
|
||||
ENDIF()
|
||||
|
||||
MACRO(GET_LIB_REQUISITES LIB REQUISITES)
|
||||
IF(LIB_EXECUTABLE)
|
||||
GET_FILENAME_COMPONENT(_LIB_PATH ${LIB_EXECUTABLE} PATH)
|
||||
|
||||
IF(MSVC)
|
||||
# Do not redirect the output
|
||||
UNSET(ENV{VS_UNICODE_OUTPUT})
|
||||
ENDIF()
|
||||
|
||||
EXECUTE_PROCESS(COMMAND ${LIB_EXECUTABLE} /nologo /list ${LIB}
|
||||
WORKING_DIRECTORY ${_LIB_PATH}/../../Common7/IDE
|
||||
OUTPUT_VARIABLE _LIB_OUTPUT ERROR_QUIET)
|
||||
|
||||
STRING(REPLACE "\n" ";" "${REQUISITES}" "${_LIB_OUTPUT}")
|
||||
LIST(REMOVE_DUPLICATES ${REQUISITES})
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
IF(_TBB_ALL_LIBS)
|
||||
# collect lib requisites using the lib tool
|
||||
FOREACH(_TBB_COMPONENT ${_TBB_ALL_LIBS})
|
||||
GET_LIB_REQUISITES(${_TBB_COMPONENT} _TBB_REQUISITES)
|
||||
ENDFOREACH(_TBB_COMPONENT)
|
||||
ENDIF()
|
||||
|
||||
IF(NOT TBB_BINARY_DIR)
|
||||
SET(_TBB_UPDATE_BINARY_DIR ON)
|
||||
ELSE()
|
||||
SET(_TBB_UPDATE_BINARY_DIR OFF)
|
||||
ENDIF()
|
||||
|
||||
SET(_TBB_BINARY_DIR_HINTS ${_TBB_POSSIBLE_BIN_SUFFIXES})
|
||||
|
||||
IF(_TBB_REQUISITES)
|
||||
FIND_FILE(TBB_BINARY_DIR NAMES ${_TBB_REQUISITES}
|
||||
HINTS ${TBB_ROOT_DIR}
|
||||
PATH_SUFFIXES ${_TBB_BINARY_DIR_HINTS} NO_DEFAULT_PATH)
|
||||
ENDIF()
|
||||
|
||||
IF(TBB_BINARY_DIR AND _TBB_UPDATE_BINARY_DIR)
|
||||
SET(_TBB_BINARY_DIR ${TBB_BINARY_DIR})
|
||||
UNSET(TBB_BINARY_DIR CACHE)
|
||||
|
||||
IF(_TBB_BINARY_DIR)
|
||||
GET_FILENAME_COMPONENT(TBB_BINARY_DIR ${_TBB_BINARY_DIR} PATH)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET(TBB_BINARY_DIR ${TBB_BINARY_DIR} CACHE PATH "TBB binary directory")
|
||||
|
||||
MARK_AS_ADVANCED(TBB_INCLUDE_DIR TBB_LIBRARY TBB_LIBRARY_RELEASE
|
||||
TBB_LIBRARY_DEBUG TBB_BINARY_DIR)
|
||||
|
||||
IF(NOT _TBB_CHECK_COMPONENTS)
|
||||
SET(_TBB_FPHSA_ADDITIONAL_ARGS HANDLE_COMPONENTS)
|
||||
ENDIF()
|
||||
|
||||
LIST(APPEND _TBB_FPHSA_ADDITIONAL_ARGS VERSION_VAR TBB_VERSION)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TBB
|
||||
REQUIRED_VARS
|
||||
TBB_ROOT_DIR
|
||||
TBB_INCLUDE_DIR
|
||||
TBB_LIBRARY
|
||||
${_TBB_MISSING_LIBRARIES}
|
||||
HANDLE_COMPONENTS
|
||||
${_TBB_FPHSA_ADDITIONAL_ARGS})
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(TBB
|
||||
REQUIRED_VARS TBB_INCLUDE_DIR TBB_LIBRARY
|
||||
VERSION_VAR TBB_VERSION)
|
||||
|
||||
@@ -276,6 +276,41 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|.*Clang")
|
||||
geant4_add_feature(GEANT4_BUILD_SANITIZER "Compiling/linking with sanitizer '${GEANT4_BUILD_SANITIZER}'")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#.rst:
|
||||
# - ``GEANT4_BUILD_ENABLE_ASSERTIONS``
|
||||
# - Build libraries with assertions enabled even in release build types (Release, RelWithDebInfo, MinSizeRel)
|
||||
#
|
||||
option(GEANT4_BUILD_ENABLE_ASSERTIONS "Enable assertions regardless of build mode" OFF)
|
||||
geant4_add_feature(GEANT4_BUILD_ENABLE_ASSERTIONS "Compiling Geant4 with assertions enabled in all build types")
|
||||
mark_as_advanced(GEANT4_BUILD_ENABLE_ASSERTIONS)
|
||||
|
||||
# "Dumb" strip of NDEBUG definition from build type flags
|
||||
if(GEANT4_BUILD_ENABLE_ASSERTIONS)
|
||||
foreach(__build_type Release MinSizeRel RelWithDebInfo)
|
||||
string(TOUPPER ${__build_type} __build_type_uc)
|
||||
foreach(__lang C CXX)
|
||||
set(FLAGSET_TO_MODIFY "CMAKE_${__lang}_FLAGS_${__build_type_uc}")
|
||||
string(REGEX REPLACE "(^| )[/-]D *NDEBUG($| )" " " new_flags "${${FLAGSET_TO_MODIFY}}")
|
||||
set(${FLAGSET_TO_MODIFY} "${new_flags}")
|
||||
endforeach()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Copy .clang-tidy file to build dir
|
||||
# - clang-tidy/run-clang-tidy state that by default:
|
||||
#
|
||||
# "clang-tidy will attempt to find a file named .clang-tidy for each source file in its parent directories."
|
||||
#
|
||||
# Whilst this does appear to be the case, `run-clang-tidy` will report enabled checks
|
||||
# as the default set, or that of any .clang-tidy found in parent directories of the build dir
|
||||
# To avoid confusion, copy .clang-tidy into build directory so that run-clang-tidy
|
||||
# should report correctly
|
||||
#
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/.clang-tidy")
|
||||
configure_file("${PROJECT_SOURCE_DIR}/.clang-tidy" "${PROJECT_BINARY_DIR}/.clang-tidy" COPYONLY)
|
||||
endif()
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Multithreading
|
||||
#-----------------------------------------------------------------------
|
||||
@@ -380,7 +415,7 @@ mark_as_advanced(GEANT4_BUILD_VERBOSE_CODE)
|
||||
if(UNIX)
|
||||
option(GEANT4_BUILD_BUILTIN_BACKTRACE
|
||||
"Enable automatic G4Backtrace signal handling in G4RunManager. Switch off for applications implementing their own signal handling"
|
||||
ON)
|
||||
OFF)
|
||||
mark_as_advanced(GEANT4_BUILD_BUILTIN_BACKTRACE)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -138,8 +138,8 @@ set(CMAKE_INSTALL_DATAROOTDIR "share" CACHE PATH
|
||||
"Read-only architecture-independent data root (share)")
|
||||
|
||||
set(CMAKE_INSTALL_DATADIR
|
||||
"${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION}" CACHE PATH
|
||||
"Read-only architecture-independent data (DATAROOTDIR/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})")
|
||||
"${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}" CACHE PATH
|
||||
"Read-only architecture-independent data (DATAROOTDIR/${PROJECT_NAME})")
|
||||
|
||||
#
|
||||
# CMake's builtin `GNUInstallDirs` module is used to set and provide variables
|
||||
|
||||
@@ -42,7 +42,6 @@ endif()
|
||||
#
|
||||
# This module includes the following modules:
|
||||
include(CMakeDependentOption)
|
||||
include(Geant4MacroLibraryTargets)
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# CMAKE EXTENSIONS
|
||||
|
||||
@@ -45,6 +45,7 @@ configure_file(LICENSE LICENSE.txt COPYONLY) # Suffix must be .txt
|
||||
#
|
||||
set(CPACK_PACKAGE_NAME "geant4")
|
||||
set(CPACK_PACKAGE_VENDOR "Geant4 Collaboration")
|
||||
set(CPACK_PACKAGE_CONTACT "Geant4 Collaboration <https://geant4.cern.ch/collaboration/contacts>")
|
||||
set(CPACK_PACKAGE_VERSION ${Geant4_VERSION})
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${Geant4_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${Geant4_VERSION_MINOR})
|
||||
@@ -54,6 +55,15 @@ set(CPACK_PACKAGE_INSTALL_DIRECTORY "Geant4-${Geant4_VERSION_MAJOR}.${Geant4_VER
|
||||
set(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/cmake/Templates/g4_small.bmp")
|
||||
set(CPACK_PACKAGE_CHECKSUM "SHA256")
|
||||
|
||||
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "science")
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS TRUE)
|
||||
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS TRUE)
|
||||
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY "=")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "cmake, make, g++")
|
||||
set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "libexpat1-dev, libxerces-c-dev, zlib1g-dev")
|
||||
set(CPACK_DEBIAN_PACKAGE_SUGGESTS "")
|
||||
|
||||
# - Common Resource files
|
||||
set(CPACK_RESOURCE_FILE_README "${PROJECT_BINARY_DIR}/README.txt")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_BINARY_DIR}/LICENSE.txt")
|
||||
@@ -127,7 +137,6 @@ list(APPEND CPACK_INSTALL_SCRIPTS "${CMAKE_CURRENT_BINARY_DIR}/source_package_ex
|
||||
# Binary package common settings
|
||||
#
|
||||
set(CPACK_PACKAGE_RELOCATABLE ${CMAKE_INSTALL_IS_NONRELOCATABLE})
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Geant4-${Geant4_VERSION_MAJOR}.${Geant4_VERSION_MINOR}")
|
||||
|
||||
if(WIN32)
|
||||
set(CPACK_GENERATOR "NSIS;ZIP")
|
||||
|
||||
@@ -225,7 +225,7 @@ configure_file(
|
||||
# - Generate Install Tree Configuration Files
|
||||
#-----------------------------------------------------------------------
|
||||
# Set needed variables for the install tree
|
||||
set(GEANT4_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
|
||||
set(GEANT4_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||
|
||||
# Header path for install tree is dependent on whether we have a relocatable
|
||||
# install.
|
||||
|
||||
@@ -119,6 +119,8 @@ elseif(MSVC)
|
||||
set(GEANT4_COMPILER "VC")
|
||||
elseif(CMAKE_CXX_COMPILER MATCHES "icpc.*|icc.*")
|
||||
set(GEANT4_COMPILER "icc")
|
||||
elseif(CMAKE_CXX_COMPILER MATCHES "icpx.*|icx.*")
|
||||
set(GEANT4_COMPILER "icx")
|
||||
else()
|
||||
set(GEANT4_COMPILER "UNSUPPORTED")
|
||||
endif()
|
||||
@@ -174,27 +176,31 @@ function(_g4tc_selflocate TEMPLATE_NAME SHELL_FAMILY SCRIPT_NAME LOCATION_VARIAB
|
||||
if(${SHELL_FAMILY} STREQUAL "bourne")
|
||||
set(${TEMPLATE_NAME}
|
||||
"# Self locate script when sourced
|
||||
if [ -z \"\$BASH_VERSION\" ]; then
|
||||
# Not bash, so rely on sourcing from correct location
|
||||
g4sls_sourced_dir=\$\(dirname \${BASH_SOURCE[0]:-$0}\)
|
||||
|
||||
if [ \"\${g4sls_sourced_dir}\" = \".\" ]; then
|
||||
if [ ! -f ${SCRIPT_NAME}${GEANT4_TC_SHELL_EXTENSION} ]; then
|
||||
# Not bash, zsh or sh so rely on sourcing from correct location
|
||||
echo 'ERROR: ${SCRIPT_NAME}${GEANT4_TC_SHELL_EXTENSION} could NOT self-locate Geant4 installation'
|
||||
echo 'This is most likely because you are using ksh, zsh or similar'
|
||||
echo 'This is most likely because you are using ksh, dash or similar'
|
||||
echo 'To fix this issue, cd to the directory containing this script'
|
||||
echo 'and source it in that directory.'
|
||||
unset g4sls_sourced_dir
|
||||
return 1
|
||||
fi
|
||||
${LOCATION_VARIABLE}=\$\(pwd\)
|
||||
else
|
||||
g4sls_sourced_dir=\$\(dirname \${BASH_ARGV[0]}\)
|
||||
${LOCATION_VARIABLE}=$\(cd \$g4sls_sourced_dir > /dev/null ; pwd\)
|
||||
fi
|
||||
${LOCATION_VARIABLE}=$\(cd \$g4sls_sourced_dir > /dev/null ; pwd\)
|
||||
"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
# For bourne shell, set the values of the guard variables
|
||||
set(GEANT4_TC_IF_SELFLOCATED "" PARENT_SCOPE)
|
||||
set(GEANT4_TC_ENDIF_SELFLOCATED "" PARENT_SCOPE)
|
||||
|
||||
set(GEANT4_TC_ENDIF_SELFLOCATED "
|
||||
# unset local variables
|
||||
unset g4sls_sourced_dir
|
||||
unset ${LOCATION_VARIABLE}
|
||||
"
|
||||
PARENT_SCOPE)
|
||||
|
||||
elseif(${SHELL_FAMILY} STREQUAL "cshell")
|
||||
set(${TEMPLATE_NAME}
|
||||
@@ -255,15 +261,21 @@ set ${LOCATION_VARIABLE}=\"`cd \${g4sls_sourced_dir} > /dev/null ; pwd`\"
|
||||
|
||||
# For C-shell, set the values of the guard variables
|
||||
set(GEANT4_TC_IF_SELFLOCATED "" PARENT_SCOPE)
|
||||
set(GEANT4_TC_ENDIF_SELFLOCATED "" PARENT_SCOPE)
|
||||
elseif(${SHELL_FAMILY} STREQUAL "cmd")
|
||||
set(GEANT4_TC_ENDIF_SELFLOCATED "
|
||||
# unset local variables
|
||||
unset g4sls_sourced_dir
|
||||
unset ${LOCATION_VARIABLE}
|
||||
"
|
||||
PARENT_SCOPE)
|
||||
|
||||
elseif(${SHELL_FAMILY} STREQUAL "cmd")
|
||||
set(${TEMPLATE_NAME}
|
||||
"set ${LOCATION_VARIABLE}=
|
||||
|
||||
rem Self locate script when sourced
|
||||
for /F %%i in (\"%0\") do set BINDIR=%%~dpi
|
||||
set BINDIR=%BINDIR:~0,-1%
|
||||
set ${LOCATION_VARIABLE}=%BINDIR%
|
||||
set \"BINDIR=%BINDIR:~0,-1%\"
|
||||
set \"${LOCATION_VARIABLE}=%BINDIR%\"
|
||||
rem unset temparary variable
|
||||
set BINDIR=
|
||||
"
|
||||
@@ -271,7 +283,10 @@ set BINDIR=
|
||||
)
|
||||
# Set the values of the guard variables
|
||||
set(GEANT4_TC_IF_SELFLOCATED "" PARENT_SCOPE)
|
||||
set(GEANT4_TC_ENDIF_SELFLOCATED "" PARENT_SCOPE)
|
||||
set(GEANT4_TC_ENDIF_SELFLOCATED "
|
||||
rem unset local variables
|
||||
set ${LOCATION_VARIABLE}=
|
||||
" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@@ -293,7 +308,7 @@ function(_g4tc_setenv_command TEMPLATE_NAME SHELL_FAMILY VARIABLE_NAME VARIABLE_
|
||||
)
|
||||
elseif(${SHELL_FAMILY} STREQUAL "cmd")
|
||||
set(${TEMPLATE_NAME}
|
||||
"set ${VARIABLE_NAME}=${VARIABLE_VALUE}"
|
||||
"set \"${VARIABLE_NAME}=${VARIABLE_VALUE}\""
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endif()
|
||||
@@ -334,7 +349,7 @@ endif
|
||||
set(${TEMPLATE_NAME}
|
||||
"
|
||||
IF NOT DEFINED ${VARIABLE_NAME} (
|
||||
set ${VARIABLE_NAME}=${VARIABLE_VALUE}
|
||||
set \"${VARIABLE_NAME}=${VARIABLE_VALUE}\"
|
||||
)
|
||||
"
|
||||
PARENT_SCOPE
|
||||
@@ -378,12 +393,10 @@ endif
|
||||
)
|
||||
# -- cmd.exe block
|
||||
elseif(${SHELL_FAMILY} STREQUAL "cmd")
|
||||
# Assime verible name passed hire
|
||||
file(TO_NATIVE_PATH ${APPEND_VARIABLE} APPEND_VARIABLE)
|
||||
set(${TEMPLATE_NAME}
|
||||
"
|
||||
set ${PATH_VARIABLE}=%${APPEND_VARIABLE}%;%${PATH_VARIABLE}%
|
||||
|
||||
set ${APPEND_VARIABLE}=
|
||||
set \"${PATH_VARIABLE}=${APPEND_VARIABLE};%${PATH_VARIABLE}%\"
|
||||
"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
@@ -426,12 +439,10 @@ endif
|
||||
)
|
||||
# -- cmd.exe block
|
||||
elseif(${SHELL_FAMILY} STREQUAL "cmd")
|
||||
# Assime verible name passed hire
|
||||
file(TO_NATIVE_PATH ${APPEND_VARIABLE} APPEND_VARIABLE)
|
||||
set(${TEMPLATE_NAME}
|
||||
"
|
||||
set ${PATH_VARIABLE}=%${PATH_VARIABLE}%;%${APPEND_VARIABLE}%
|
||||
|
||||
set ${APPEND_VARIABLE}=
|
||||
set \"${PATH_VARIABLE}=%${PATH_VARIABLE}%;${APPEND_VARIABLE}\"
|
||||
"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
@@ -868,22 +879,26 @@ file(RELATIVE_PATH
|
||||
|
||||
# Resource Files
|
||||
# - Data
|
||||
geant4_get_datasetnames(GEANT4_EXPORTED_DATASETS)
|
||||
foreach(_ds ${GEANT4_EXPORTED_DATASETS})
|
||||
geant4_get_dataset_property(${_ds} ENVVAR ${_ds}_ENVVAR)
|
||||
geant4_get_dataset_property(${_ds} INSTALL_DIR ${_ds}_PATH)
|
||||
|
||||
if(NOT IS_ABSOLUTE ${${_ds}_PATH})
|
||||
if(NOT IS_ABSOLUTE ${GEANT4_INSTALL_DATADIR})
|
||||
file(RELATIVE_PATH
|
||||
G4ENV_BINDIR_TO_DATADIR
|
||||
${CMAKE_INSTALL_FULL_BINDIR}
|
||||
${${_ds}_PATH}
|
||||
${GEANT4_INSTALL_FULL_DATADIR}
|
||||
)
|
||||
set(${_ds}_PATH "\"`cd \$geant4_envbindir/${G4ENV_BINDIR_TO_DATADIR} > /dev/null \; pwd`\"")
|
||||
set(GEANT4_DATA_DIR "\"`cd \$geant4_envbindir/${G4ENV_BINDIR_TO_DATADIR} > /dev/null \; pwd`\"")
|
||||
file(TO_NATIVE_PATH ${G4ENV_BINDIR_TO_DATADIR} G4ENV_BINDIR_TO_DATADIR)
|
||||
set(GEANT4_DATA_DIRW "\%geant4_envbindir\%\\${G4ENV_BINDIR_TO_DATADIR}")
|
||||
else()
|
||||
set(${_ds}_PATH "\"${${_ds}_PATH}\"")
|
||||
set(GEANT4_DATA_DIR "\"${GEANT4_INSTALL_DATADIR}\"")
|
||||
file(TO_NATIVE_PATH ${GEANT4_INSTALL_DATADIR} GEANT4_INSTALL_DATADIR)
|
||||
set(GEANT4_DATA_DIRW "${GEANT4_INSTALL_DATADIR}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
geant4_get_datasetnames(GEANT4_EXPORTED_DATASETS)
|
||||
foreach(_ds ${GEANT4_EXPORTED_DATASETS})
|
||||
geant4_get_dataset_property(${_ds} ENVVAR ${_ds}_ENVVAR)
|
||||
geant4_get_dataset_property(${_ds} DIRECTORY ${_ds}_PATH)
|
||||
endforeach()
|
||||
|
||||
# - Fonts
|
||||
file(RELATIVE_PATH
|
||||
@@ -899,6 +914,9 @@ if(WIN32)
|
||||
list(APPEND shells_list cmd)
|
||||
endif()
|
||||
|
||||
#os which use LD_LIBRARY_PATH
|
||||
set(_oswithldpath Linux)
|
||||
|
||||
# - Configure for each shell
|
||||
foreach(_shell IN LISTS shells_list)
|
||||
# Setup the shell
|
||||
@@ -923,7 +941,7 @@ foreach(_shell IN LISTS shells_list)
|
||||
)
|
||||
|
||||
# Set library path, based on relative paths between bindir and libdir
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if(${CMAKE_SYSTEM_NAME} IN_LIST _oswithldpath)
|
||||
_g4tc_prepend_path(GEANT4_ENV_LIBPATH_SETUP
|
||||
${_shell}
|
||||
LD_LIBRARY_PATH
|
||||
@@ -940,7 +958,7 @@ foreach(_shell IN LISTS shells_list)
|
||||
get_filename_component(_CLHEP_LIB_DIR "${_CLHEP_LIB_DIR}" REALPATH)
|
||||
get_filename_component(_CLHEP_LIB_DIR "${_CLHEP_LIB_DIR}" DIRECTORY)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if(${CMAKE_SYSTEM_NAME} IN_LIST _oswithldpath)
|
||||
_g4tc_append_path(GEANT4_TC_CLHEP_LIB_PATH_SETUP
|
||||
${_shell}
|
||||
LD_LIBRARY_PATH
|
||||
@@ -956,7 +974,7 @@ foreach(_shell IN LISTS shells_list)
|
||||
if(GEANT4_USE_GDML)
|
||||
get_filename_component(_XERCESC_LIB_DIR "${XercesC_LIBRARY}" REALPATH)
|
||||
get_filename_component(_XERCESC_LIB_DIR "${XercesC_LIBRARY}" DIRECTORY)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if(${CMAKE_SYSTEM_NAME} IN_LIST _oswithldpath)
|
||||
_g4tc_append_path(GEANT4_TC_XERCESC_LIB_PATH_SETUP
|
||||
${_shell}
|
||||
LD_LIBRARY_PATH
|
||||
@@ -967,12 +985,17 @@ foreach(_shell IN LISTS shells_list)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# - Set data paths
|
||||
set(GEANT4_ENV_DATASETS )
|
||||
foreach(_ds ${GEANT4_EXPORTED_DATASETS})
|
||||
_g4tc_setenv_command(_dssetenvcmd ${_shell} ${${_ds}_ENVVAR} ${${_ds}_PATH})
|
||||
_g4tc_setenv_command(_dssetenvcmd ${_shell} GEANT4_DATA_DIR ${GEANT4_DATA_DIR})
|
||||
set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n")
|
||||
set(_dssetenvcmd "
|
||||
# - Variables for individual datasets
|
||||
# Uncomment the line and edit the path to the dataset if installed in not standard location.")
|
||||
set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n\n")
|
||||
foreach(_ds ${GEANT4_EXPORTED_DATASETS})
|
||||
_g4tc_setenv_command(_dssetenvcmd ${_shell} ${${_ds}_ENVVAR} "$GEANT4_DATA_DIR/${${_ds}_PATH}")
|
||||
set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}# ${_dssetenvcmd}\n")
|
||||
endforeach()
|
||||
|
||||
# - Set Font Path
|
||||
@@ -999,7 +1022,7 @@ foreach(_shell IN LISTS shells_list)
|
||||
_g4tc_prepend_path(GEANT4_ENV_BINPATH_SETUP
|
||||
${_shell}
|
||||
PATH
|
||||
"geant4_envbindir"
|
||||
"%geant4_envbindir%"
|
||||
)
|
||||
|
||||
## Set library path, based on relative paths between bindir and libdir
|
||||
@@ -1013,21 +1036,67 @@ foreach(_shell IN LISTS shells_list)
|
||||
|
||||
# Third party lib paths
|
||||
# - CLHEP, if system
|
||||
set(GEANT4_TC_CLHEP_LIB_PATH_SETUP "rem no configuration required")
|
||||
set(GEANT4_TC_CLHEP_LIB_PATH_SETUP "rem # - Builtin CLHEP used")
|
||||
if(GEANT4_USE_SYSTEM_CLHEP)
|
||||
# Handle granular vs singular cases
|
||||
get_target_property(_CLHEP_LIB_DIR CLHEP::CLHEP LOCATION)
|
||||
get_filename_component(_CLHEP_LIB_DIR "${_CLHEP_LIB_DIR}" REALPATH)
|
||||
get_filename_component(_CLHEP_LIB_DIR "${_CLHEP_LIB_DIR}" DIRECTORY)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
_g4tc_append_path(GEANT4_TC_CLHEP_LIB_PATH_SETUP
|
||||
${_shell}
|
||||
PATH
|
||||
"${_CLHEP_LIB_DIR}"
|
||||
)
|
||||
else()
|
||||
set(GEANT4_TC_CLHEP_LIB_PATH_SETUP "rem # System CLHEP in use, no configuration required")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# - XercesC
|
||||
set(GEANT4_TC_XERCESC_LIB_PATH_SETUP "rem no configuration required")
|
||||
set(GEANT4_TC_XERCESC_LIB_PATH_SETUP "rem # GDML SUPPORT NOT AVAILABLE")
|
||||
if(GEANT4_USE_GDML)
|
||||
get_filename_component(_XERCESC_LIB_DIR "${XercesC_LIBRARY}" REALPATH)
|
||||
get_filename_component(_XERCESC_LIB_DIR "${XercesC_LIBRARY}" DIRECTORY)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
_g4tc_append_path(GEANT4_TC_XERCESC_LIB_PATH_SETUP
|
||||
${_shell}
|
||||
PATH
|
||||
"${_XERCESC_LIB_DIR}"
|
||||
)
|
||||
else()
|
||||
set(GEANT4_TC_XERCESC_LIB_PATH_SETUP "rem # GDML Supported, no configuration of Xerces-C required")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# - Set data paths
|
||||
set(GEANT4_ENV_DATASETS )
|
||||
_g4tc_setenv_command(_dssetenvcmd ${_shell} GEANT4_DATA_DIR ${GEANT4_DATA_DIRW})
|
||||
set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n")
|
||||
set(_dssetenvcmd "FOR /F %%i IN ( \"%GEANT4_DATA_DIR%\" ) DO set \"GEANT4_DATA_DIR=%%~fi\"")
|
||||
set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n\n")
|
||||
set(_dssetenvcmd "
|
||||
rem - Variables for individual datasets
|
||||
rem Uncomment the line and edit the path to the dataset if installed in not standard location.")
|
||||
set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n\n")
|
||||
foreach(_ds ${GEANT4_EXPORTED_DATASETS})
|
||||
file(TO_NATIVE_PATH ${${_ds}_PATH} _native_path)
|
||||
_g4tc_setenv_command(_dssetenvcmd ${_shell} ${${_ds}_ENVVAR} ${_native_path})
|
||||
set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n")
|
||||
_g4tc_setenv_command(_dssetenvcmd ${_shell} ${${_ds}_ENVVAR} "%GEANT4_DATA_DIR%\\${_native_path}")
|
||||
set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}rem ${_dssetenvcmd}\n")
|
||||
endforeach()
|
||||
|
||||
# - Set Font Path
|
||||
set(GEANT4_ENV_TOOLS_FONT_PATH "rem no configuration required")
|
||||
# ??? We need this variable ?
|
||||
# ??? path to freetype2 library ???
|
||||
set(GEANT4_ENV_TOOLS_FONT_PATH "rem # FREETYPE SUPPORT NOT AVAILABLE")
|
||||
if(GEANT4_USE_FREETYPE)
|
||||
_g4tc_append_path(GEANT4_ENV_TOOLS_FONT_PATH
|
||||
${_shell}
|
||||
TOOLS_FONT_PATH
|
||||
"${TOOLS_FONT_PATH}"
|
||||
)
|
||||
endif()
|
||||
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/cmake/Templates/geant4-bat-skeleton.in
|
||||
|
||||
@@ -261,6 +261,13 @@ if(NOT GEANT4_BUILD_GRANULAR_LIBS)
|
||||
set(G4_BUILTWITH_QT "no")
|
||||
endif()
|
||||
|
||||
# - QT3D
|
||||
if(GEANT4_USE_QT3D)
|
||||
set(G4_BUILTWITH_QT3D "yes")
|
||||
else()
|
||||
set(G4_BUILTWITH_QT3D "no")
|
||||
endif()
|
||||
|
||||
# - Motif
|
||||
if(GEANT4_USE_XM)
|
||||
set(G4_BUILTWITH_MOTIF "yes")
|
||||
@@ -292,6 +299,13 @@ if(NOT GEANT4_BUILD_GRANULAR_LIBS)
|
||||
set(G4_BUILTWITH_INVENTOR "no")
|
||||
endif()
|
||||
|
||||
# - VTK
|
||||
if(GEANT4_USE_VTK)
|
||||
set(G4_BUILTWITH_VTK "yes")
|
||||
else()
|
||||
set(G4_BUILTWITH_VTK "no")
|
||||
endif()
|
||||
|
||||
# If we have a module that uses X11, We have to play with the X11
|
||||
# paths to get a clean set suitable for inclusion
|
||||
if(G4_CONFIG_NEEDS_X11)
|
||||
|
||||
@@ -8,21 +8,21 @@
|
||||
# - NDL
|
||||
geant4_add_dataset(
|
||||
NAME G4NDL
|
||||
VERSION 4.6
|
||||
VERSION 4.7
|
||||
FILENAME G4NDL
|
||||
EXTENSION tar.gz
|
||||
ENVVAR G4NEUTRONHPDATA
|
||||
MD5SUM d07e43499f607e01f2c1ce06d7a09f3e
|
||||
MD5SUM b001a2091bf9392e6833830347672ea2
|
||||
)
|
||||
|
||||
# - Low energy electromagnetics
|
||||
geant4_add_dataset(
|
||||
NAME G4EMLOW
|
||||
VERSION 8.0
|
||||
VERSION 8.1
|
||||
FILENAME G4EMLOW
|
||||
EXTENSION tar.gz
|
||||
ENVVAR G4LEDATA
|
||||
MD5SUM 6795805f39ac73a71333276756004d99
|
||||
MD5SUM e4abc7d2cd73a2f6d19837e9bcce984a
|
||||
)
|
||||
|
||||
# - Photon evaporation
|
||||
|
||||
+590
-309
File diff suppressed because it is too large
Load Diff
@@ -56,37 +56,15 @@ if(GEANT4_USE_INVENTOR_QT)
|
||||
set(GEANT4_USE_INVENTOR ON)
|
||||
endif()
|
||||
|
||||
# - ToolsSG/Xt/X11/Qt/Win
|
||||
# Though this option has platform differences, we configure here because it can
|
||||
# trigger the Qt requirement
|
||||
if(WIN32)
|
||||
set(_g4_toolssg_backends "OFF" "WIN32")
|
||||
else()
|
||||
# TODO: Difference between X11, XT?
|
||||
set(_g4_toolssg_backends "OFF" "X11" "XT" "QT")
|
||||
endif()
|
||||
|
||||
enum_option(GEANT4_USE_TOOLSSG
|
||||
DOC "Build Geant4 ToolsSG Visualization Driver with Backend"
|
||||
VALUES ${_g4_toolssg_backends}
|
||||
)
|
||||
geant4_add_feature(GEANT4_USE_TOOLSSG "Build ToolsSG Visualization Driver with backend '${GEANT4_USE_TOOLSSG}'")
|
||||
|
||||
foreach(_tsg_backend IN LISTS _g4_toolssg_backends)
|
||||
set(GEANT4_USE_TOOLSSG_${_tsg_backend}_GLES OFF)
|
||||
if(_tsg_backend STREQUAL GEANT4_USE_TOOLSSG)
|
||||
set(GEANT4_USE_TOOLSSG_${_tsg_backend}_GLES ON)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# - Qt (may be required by Coin/ToolsSG driver)
|
||||
# - Qt
|
||||
# May be required by Coin driver
|
||||
# Selection also enables ToolsSG driver
|
||||
option(GEANT4_USE_QT "Build Geant4 with Qt support" OFF)
|
||||
if((GEANT4_USE_INVENTOR_QT OR GEANT4_USE_TOOLSSG_QT_GLES) AND NOT GEANT4_USE_QT)
|
||||
if(GEANT4_USE_INVENTOR_QT AND NOT GEANT4_USE_QT)
|
||||
set(GEANT4_USE_QT ON CACHE BOOL "Build Geant4 with Qt support" FORCE)
|
||||
message(STATUS "Forcing GEANT4_USE_QT to ON, required by Inventor/ToolsSG Driver(s)")
|
||||
message(STATUS "Forcing GEANT4_USE_QT to ON, required by selection of GEANT4_USE_INVENTOR_QT as ON")
|
||||
endif()
|
||||
|
||||
geant4_add_feature(GEANT4_USE_QT "Build Geant4 with Qt support")
|
||||
set(GEANT4_USE_TOOLSSG_QT_GLES ${GEANT4_USE_QT})
|
||||
|
||||
# - Vtk
|
||||
option(GEANT4_USE_VTK "Build Geant4 with VTK visualisation" OFF)
|
||||
@@ -94,23 +72,26 @@ mark_as_advanced(GEANT4_USE_VTK)
|
||||
if(GEANT4_USE_VTK)
|
||||
find_package(VTK 8.2 REQUIRED)
|
||||
endif()
|
||||
|
||||
geant4_add_feature(GEANT4_USE_VTK "Using VTK for visualisation (EXPERIMENTAL)")
|
||||
|
||||
# - Unix only
|
||||
if(UNIX)
|
||||
# - Motif UI/Vis (may be required by Coin Vis driver)
|
||||
# - Motif UI/Vis
|
||||
# May be required by Coin Vis driver
|
||||
# Selection also enables ToolsSG driver Xt backend
|
||||
option(GEANT4_USE_XM "Build Geant4 with Motif (X11) support" OFF)
|
||||
if((GEANT4_USE_INVENTOR AND NOT GEANT4_USE_INVENTOR_QT)
|
||||
AND NOT GEANT4_USE_XM)
|
||||
set(GEANT4_USE_XM ON CACHE BOOL "Build Geant4 with Motif (X11) support" FORCE)
|
||||
message(STATUS "Forcing GEANT4_USE_XM to ON, required by Inventor driver")
|
||||
endif()
|
||||
|
||||
set(GEANT4_USE_TOOLSSG_XT_GLES ${GEANT4_USE_XM})
|
||||
geant4_add_feature(GEANT4_USE_XM "Build Geant4 with Xm Support")
|
||||
|
||||
# OpenGL/X11 Vis Driver
|
||||
# - OpenGL/X11 Vis Driver
|
||||
# Selection also enables ToolsSG driver X11 backend
|
||||
option(GEANT4_USE_OPENGL_X11 "Build Geant4 OpenGL driver with X11 support" OFF)
|
||||
set(GEANT4_USE_TOOLSSG_X11_GLES ${GEANT4_USE_OPENGL_X11})
|
||||
geant4_add_feature(GEANT4_USE_OPENGL_X11 "Build Geant4 OpenGL driver with X11 support")
|
||||
|
||||
# RayTracer driver with X11 support
|
||||
@@ -120,10 +101,20 @@ endif()
|
||||
|
||||
# Windows only
|
||||
if(WIN32)
|
||||
option(GEANT4_USE_OPENGL_WIN32 "Build OpenGL driver with Win32 support")
|
||||
option(GEANT4_USE_OPENGL_WIN32 "Build OpenGL driver with Win32 support" OFF)
|
||||
set(GEANT4_USE_TOOLSSG_WINDOWS_GLES ${GEANT4_USE_OPENGL_WIN32})
|
||||
geant4_add_feature(GEANT4_USE_OPENGL_WIN32 "Build OpenGL driver with Win32 support")
|
||||
endif()
|
||||
|
||||
# Overall ToolsSG enable flag
|
||||
set(GEANT4_USE_TOOLSSG OFF)
|
||||
if(GEANT4_USE_TOOLSSG_QT_GLES
|
||||
OR GEANT4_USE_TOOLSSG_XT_GLES
|
||||
OR GEANT4_USE_TOOLSSG_X11_GLES
|
||||
OR GEANT4_USE_TOOLSSG_WINDOWS_GLES)
|
||||
set(GEANT4_USE_TOOLSSG ON)
|
||||
endif()
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Find dependencies
|
||||
#
|
||||
@@ -151,46 +142,61 @@ if(GEANT4_USE_INVENTOR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# - Qt5
|
||||
# - Qt5/6
|
||||
if(GEANT4_USE_QT)
|
||||
find_package(Qt5Core REQUIRED)
|
||||
find_package(Qt5Gui REQUIRED)
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
find_package(Qt5OpenGL REQUIRED)
|
||||
find_package(Qt5PrintSupport REQUIRED)
|
||||
set(QT_QTCORE_LIBRARY Qt5::Core Qt5::PrintSupport)
|
||||
set(QT_QTGUI_LIBRARY Qt5::Gui Qt5::Widgets)
|
||||
set(QT_OPENGL_LIBRARY Qt5::Gui Qt5::OpenGL)
|
||||
set(QT_LIBRARIES Qt5::OpenGL Qt5::Gui Qt5::PrintSupport Qt5::Widgets)
|
||||
get_target_property(QT_QMAKE_EXECUTABLE ${Qt5Core_QMAKE_EXECUTABLE} IMPORTED_LOCATION)
|
||||
geant4_save_package_variables(Qt5 Qt5Core_DIR Qt5Gui_DIR Qt5Widgets_DIR Qt5OpenGL_DIR Qt5PrintSupport_DIR)
|
||||
# Use versioned targets to support Qt5 < 5.15
|
||||
# Once 5.15 is the minimum version, the "Qt${QT_VERSION_MAJOR}_..." variables can be dropped
|
||||
# - https://doc.qt.io/qt-6/cmake-manual.html
|
||||
find_package(QT NAMES Qt5 Qt6 COMPONENTS Core REQUIRED)
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets OpenGL PrintSupport REQUIRED)
|
||||
|
||||
if(QT_VERSION_MAJOR VERSION_LESS 6)
|
||||
get_target_property(QT_QMAKE_EXECUTABLE ${Qt${QT_VERSION_MAJOR}Core_QMAKE_EXECUTABLE} IMPORTED_LOCATION)
|
||||
else()
|
||||
get_target_property(QT_QMAKE_EXECUTABLE Qt6::qmake IMPORTED_LOCATION)
|
||||
endif()
|
||||
geant4_save_package_variables(Qt${QT_VERSION_MAJOR}
|
||||
Qt${QT_VERSION_MAJOR}Core_DIR
|
||||
Qt${QT_VERSION_MAJOR}Gui_DIR
|
||||
Qt${QT_VERSION_MAJOR}Widgets_DIR
|
||||
Qt${QT_VERSION_MAJOR}OpenGL_DIR
|
||||
Qt${QT_VERSION_MAJOR}PrintSupport_DIR)
|
||||
|
||||
|
||||
geant4_add_feature(GEANT4_USE_QT "Build Geant4 with Qt${QT_VERSION_MAJOR} support")
|
||||
|
||||
# Qt3D is only supported on 5.15 and above, but always on if available
|
||||
set(QT3D_MINIMUM_VERSION 5.15.0)
|
||||
set(GEANT4_USE_QT3D OFF)
|
||||
|
||||
if(Qt5Core_VERSION GREATER_EQUAL QT3D_MINIMUM_VERSION)
|
||||
find_package(Qt53DCore ${QT3D_MINIMUM_VERSION} QUIET)
|
||||
find_package(Qt53DExtras ${QT3D_MINIMUM_VERSION} QUIET)
|
||||
find_package(Qt53DRender ${QT3D_MINIMUM_VERSION} QUIET)
|
||||
if(QT_VERSION GREATER_EQUAL QT3D_MINIMUM_VERSION)
|
||||
find_package(Qt${QT_VERSION_MAJOR}3DCore ${QT_VERSION} EXACT QUIET)
|
||||
find_package(Qt${QT_VERSION_MAJOR}3DExtras ${QT_VERSION} EXACT QUIET)
|
||||
find_package(Qt${QT_VERSION_MAJOR}3DRender ${QT_VERSION} EXACT QUIET)
|
||||
|
||||
if(Qt53DCore_FOUND AND Qt53DExtras_FOUND AND Qt53DRender_FOUND)
|
||||
# Forward correct minimum version to CMake/etc files
|
||||
set(QT3D_MINIMUM_VERSION ${QT_VERSION})
|
||||
|
||||
if(Qt${QT_VERSION_MAJOR}3DCore_FOUND AND Qt${QT_VERSION_MAJOR}3DExtras_FOUND AND Qt${QT_VERSION_MAJOR}3DRender_FOUND)
|
||||
set(GEANT4_USE_QT3D ON)
|
||||
geant4_save_package_variables(Qt5 Qt53DCore_DIR Qt53DExtras_DIR Qt53DRender_DIR)
|
||||
geant4_save_package_variables(Qt${QT_VERSION_MAJOR}
|
||||
Qt${QT_VERSION_MAJOR}3DCore_DIR
|
||||
Qt${QT_VERSION_MAJOR}3DExtras_DIR
|
||||
Qt${QT_VERSION_MAJOR}3DRender_DIR)
|
||||
geant4_add_feature(GEANT4_USE_QT3D "Build Geant4 Qt3D driver")
|
||||
else()
|
||||
set(_g4_qt53d_missing)
|
||||
if(NOT Qt53DCore_FOUND)
|
||||
list(APPEND _g4_qt53d_missing "Qt53DCore")
|
||||
set(_g4_qt3d_missing)
|
||||
if(NOT Qt${QT_VERSION_MAJOR}3DCore_FOUND)
|
||||
list(APPEND _g4_qt3d_missing "Qt${QT_VERSION_MAJOR}3DCore")
|
||||
endif()
|
||||
if(NOT Qt53DExtras_FOUND)
|
||||
list(APPEND _g4_qt53d_missing "Qt53DExtras")
|
||||
if(NOT Qt${QT_VERSION_MAJOR}3DExtras_FOUND)
|
||||
list(APPEND _g4_qt3d_missing "Qt${QT_VERSION_MAJOR}3DExtras")
|
||||
endif()
|
||||
if(NOT Qt53DRender_FOUND)
|
||||
list(APPEND _g4_qt53d_missing "Qt53DRender")
|
||||
if(NOT Qt${QT_VERSION_MAJOR}3DRender_FOUND)
|
||||
list(APPEND _g4_qt3d_missing "Qt${QT_VERSION_MAJOR}3DRender")
|
||||
endif()
|
||||
|
||||
message(STATUS "Disabling Geant4 Qt3D driver, missing Qt5 packages: ${_g4_qt53d_missing}")
|
||||
message(STATUS "Disabling Geant4 Qt3D driver, missing Qt packages: ${_g4_qt3d_missing}")
|
||||
endif()
|
||||
endif()
|
||||
# Variables for export to GNUmake
|
||||
@@ -203,7 +209,6 @@ if(GEANT4_USE_INVENTOR
|
||||
OR GEANT4_USE_QT
|
||||
OR GEANT4_USE_OPENGL_X11
|
||||
OR GEANT4_USE_XM
|
||||
OR GEANT4_USE_TOOLSSG
|
||||
OR GEANT4_USE_OPENGL_WIN32)
|
||||
find_package(OpenGL REQUIRED)
|
||||
geant4_save_package_variables(OpenGL OPENGL_INCLUDE_DIR OPENGL_gl_LIBRARY)
|
||||
@@ -212,9 +217,7 @@ if(GEANT4_USE_INVENTOR
|
||||
if(APPLE AND
|
||||
(GEANT4_USE_INVENTOR_XT
|
||||
OR GEANT4_USE_OPENGL_X11
|
||||
OR GEANT4_USE_XM
|
||||
OR GEANT4_USE_TOOLSSG_X11_GLES
|
||||
OR GEANT4_USE_TOOLSSG_XT_GLES))
|
||||
OR GEANT4_USE_XM))
|
||||
find_package(XQuartzGL REQUIRED)
|
||||
geant4_save_package_variables(XQuartzGL XQuartzGL_INCLUDE_DIR XQuartzGL_gl_LIBRARY)
|
||||
endif()
|
||||
@@ -233,9 +236,7 @@ if(UNIX)
|
||||
if(GEANT4_USE_OPENGL_X11
|
||||
OR GEANT4_USE_RAYTRACER_X11
|
||||
OR GEANT4_USE_XM
|
||||
OR GEANT4_USE_INVENTOR_XT
|
||||
OR GEANT4_USE_TOOLSSG_X11_GLES
|
||||
OR GEANT4_USE_TOOLSSG_XT_GLES)
|
||||
OR GEANT4_USE_INVENTOR_XT)
|
||||
find_package(X11 REQUIRED)
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/G4X11Shim.cmake")
|
||||
|
||||
@@ -270,4 +271,3 @@ if(UNIX)
|
||||
geant4_save_package_variables(Motif MOTIF_INCLUDE_DIR MOTIF_LIBRARIES)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
@@ -32,20 +32,18 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-variadic-macros -Wshadow")
|
||||
# Use pipes rather than temp files
|
||||
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} -pipe")
|
||||
|
||||
# Additional per-mode flags
|
||||
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
|
||||
# Assist auto-vectorization
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT} -fno-trapping-math -ftree-vectorize -fno-math-errno")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
|
||||
|
||||
# Remove superfluous "unused argument" and "GL deprecation" "warnings" from Clang
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
|
||||
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} -Qunused-arguments -DGL_SILENCE_DEPRECATION")
|
||||
endif()
|
||||
|
||||
# Additional per-mode flags
|
||||
# Assist auto-vectorization in Release
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT} -fno-trapping-math -ftree-vectorize -fno-math-errno")
|
||||
|
||||
# Use Debug-safe optimization
|
||||
set(CMAKE_CXX_FLAGS_DEBUG_INIT "${CMAKE_CXX_FLAGS_DEBUG_INIT} -Og")
|
||||
|
||||
# Extra Geant4 modes
|
||||
# - Debug_FPE: Core Debug mode plus FPE)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG_FPE_INIT "${CMAKE_CXX_FLAGS_DEBUG_INIT} -DG4FPE_DEBUG")
|
||||
@@ -61,7 +59,6 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
|
||||
set(GEANT4_MULTITHREADED_CXX_FLAGS "-pthread")
|
||||
endif()
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# MSVC - all (?) versions
|
||||
if(MSVC)
|
||||
@@ -71,7 +68,7 @@ if(MSVC)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-MDd -Od -Zi")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-MD -Ox -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-MD -Os -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-MD -O2 -Zi")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-MD -O2 -Zi -DNDEBUG")
|
||||
|
||||
# Extra modes
|
||||
set(CMAKE_CXX_FLAGS_TESTRELEASE_INIT "-MDd -Zi -G4DEBUG_VERBOSE")
|
||||
@@ -83,11 +80,15 @@ endif()
|
||||
#
|
||||
# Sufficient id on all platforms?
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-w1 -Wno-non-virtual-dtor -Wpointer-arith -Wwrite-strings -fp-model precise")
|
||||
# Warnings
|
||||
set(CMAKE_CXX_FLAGS_INIT "-W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-variadic-macros -Wshadow -fp-model precise")
|
||||
# Use pipes rather than temp files
|
||||
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} -pipe")
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
|
||||
|
||||
# Extra modes
|
||||
set(CMAKE_CXX_FLAGS_TESTRELEASE_INIT "-g -G4DEBUG_VERBOSE")
|
||||
@@ -100,51 +101,3 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
# Linker flags
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-limf")
|
||||
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()
|
||||
|
||||
|
||||
@@ -56,7 +56,6 @@ geant4_add_feature(GEANT4_USE_SYSTEM_CLHEP "Using system CLHEP library")
|
||||
# to the internal location of expat headers and library target so Geant4
|
||||
# clients of expat have a consistent interface.
|
||||
#
|
||||
# KNOWNISSUE : For internal expat, how to deal with static and shared?
|
||||
if(WIN32)
|
||||
set(EXPAT_FOUND TRUE)
|
||||
set(GEANT4_USE_BUILTIN_EXPAT TRUE)
|
||||
@@ -117,40 +116,39 @@ endif()
|
||||
geant4_add_feature(GEANT4_USE_SYSTEM_ZLIB "Using system zlib library")
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# TBB support
|
||||
#
|
||||
set(_default_use_tbb OFF)
|
||||
if(TBB_DIR)
|
||||
set(_default_use_tbb ON)
|
||||
endif()
|
||||
# Find required PTL, optional TBB support, defaulting to internal
|
||||
option(GEANT4_USE_SYSTEM_PTL "Use system PTL library" OFF)
|
||||
option(GEANT4_USE_TBB "Use TBB as PTL's tasking backend" OFF)
|
||||
cmake_dependent_option(GEANT4_USE_PTL_LOCKS "Enable mutex locking in PTL task subqueues" OFF "NOT GEANT4_USE_SYSTEM_PTL" OFF)
|
||||
mark_as_advanced(GEANT4_USE_SYSTEM_PTL GEANT4_USE_PTL_LOCKS GEANT4_USE_TBB)
|
||||
|
||||
option(GEANT4_USE_TBB "Enable (optional) use of TBB as a tasking backend" ${_default_use_tbb})
|
||||
if(GEANT4_USE_TBB)
|
||||
find_package(TBB REQUIRED)
|
||||
geant4_save_package_variables(TBB TBB_INCLUDE_DIR TBB_LIBRARY TBB_LIBRARY_DEBUG TBB_LIBRARY_RELEASE TBB_ROOT_DIR)
|
||||
endif()
|
||||
|
||||
geant4_add_feature(GEANT4_USE_TBB "Enable (optional) use of TBB as a tasking backend")
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Find required PTL package, defaulting to internal
|
||||
option(GEANT4_USE_SYSTEM_PTL "Use system zlib library" OFF)
|
||||
if(GEANT4_USE_SYSTEM_PTL)
|
||||
if(GEANT4_USE_TBB)
|
||||
find_package(PTL 2.0.0 REQUIRED TBB)
|
||||
else()
|
||||
find_package(PTL 2.0.0 REQUIRED)
|
||||
# Backward compatibility for sources.cmake using the variable
|
||||
if(PTL_TBB_FOUND AND NOT GEANT4_USE_TBB)
|
||||
set(GEANT4_USE_TBB ON CACHE BOOL "Use TBB as PTL's tasking backend (forced)" FORCE)
|
||||
message(STATUS "Forcing GEANT4_USE_TBB to ON, required by system PTL: ${PTL_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
set(PTL_LIBRARIES PTL::ptl)
|
||||
geant4_save_package_variables(PTL PTL_DIR)
|
||||
else()
|
||||
# Prempt PTL's find of TBB so we can cache the variables
|
||||
if(GEANT4_USE_TBB)
|
||||
find_package(TBB REQUIRED)
|
||||
endif()
|
||||
set(PTL_FOUND TRUE)
|
||||
set(GEANT4_USE_BUILTIN_PTL TRUE)
|
||||
set(PTL_LIBRARIES G4ptl)
|
||||
endif()
|
||||
mark_as_advanced(GEANT4_USE_SYSTEM_PTL)
|
||||
geant4_add_feature(GEANT4_USE_SYSTEM_PTL "Using system PTL library")
|
||||
|
||||
# Internal PTL offers adding locks in task queues to help debugging
|
||||
cmake_dependent_option(GEANT4_USE_PTL_LOCKS "Enable mutex locking in PTL task subqueues" OFF "NOT GEANT4_USE_SYSTEM_PTL" OFF)
|
||||
mark_as_advanced(GEANT4_USE_PTL_LOCKS)
|
||||
geant4_add_feature(GEANT4_USE_SYSTEM_PTL "Using system PTL library")
|
||||
geant4_add_feature(GEANT4_USE_PTL_LOCKS "Enabled mutex locking in PTL task subqueues")
|
||||
geant4_add_feature(GEANT4_USE_TBB "Using TBB as PTL's tasking backend")
|
||||
# Always cache TBB even if not used. Empty vars will not be exported.
|
||||
geant4_save_package_variables(TBB TBB_DIR TBB_INCLUDE_DIR TBB_LIBRARY TBB_LIBRARY_DEBUG TBB_LIBRARY_RELEASE)
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Optional Support for GDML - requires Xerces-C package
|
||||
|
||||
+11
-13
@@ -1,18 +1,16 @@
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
# Category cmake-modules History
|
||||
|
||||
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 !
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
## 2021-12-10 Ben Morgan (cmake-modules-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
24th May 2011 Ben Morgan
|
||||
- *** All History MUST be reported in the main CMake Category History file ***
|
||||
|
||||
Executable
+302
@@ -0,0 +1,302 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
"""Check Geant4 source code modules
|
||||
|
||||
Geant4 organises source code into "Modules", with each Module being a
|
||||
directory containing headers and sources in `include/` and `src/`
|
||||
subdirectories respectively. One or more Modules are grouped/compiled
|
||||
into the actual libraries.
|
||||
|
||||
This program can be used to query Modules as declared to the build system to:
|
||||
|
||||
- List all declared modules
|
||||
- Print the list of public headers provided by a module
|
||||
- Print modules required by a module based on inclusion of headers
|
||||
- Check consistency between declared dependencies of a module and
|
||||
those its sources actually use via inclusion of headers
|
||||
- Check for cycles in the graph of declared module dependencies
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import csv
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
import json
|
||||
import graphlib
|
||||
|
||||
|
||||
def initdb(filename):
|
||||
db = {}
|
||||
with open(filename, 'r') as csvfile:
|
||||
reader = csv.reader(csvfile)
|
||||
for row in reader:
|
||||
db[row[0]] = {'location': row[1],
|
||||
'headers': set(row[2].split(';')) - set(['']),
|
||||
'public_deps': set(row[3].split(';')) - set(['']),
|
||||
'private_deps': set(row[4].split(';')) - set(['']),
|
||||
'interface_deps': set(row[5].split(';')) - set([''])}
|
||||
|
||||
return db
|
||||
|
||||
|
||||
def scan_includes(input_file):
|
||||
result = set()
|
||||
lines = open(input_file).readlines()
|
||||
for line in lines:
|
||||
m = re.search("^ *# *include *\"(.*)\"", line)
|
||||
if m:
|
||||
result.add(m.group(1))
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def scan_files(input_path):
|
||||
used_headers = set()
|
||||
with os.scandir(input_path) as hdr_it:
|
||||
for entry in hdr_it:
|
||||
used_headers |= scan_includes(entry.path)
|
||||
|
||||
return used_headers
|
||||
|
||||
|
||||
def find_modules(list_of_headers, module_db):
|
||||
found_modules = set()
|
||||
orphan_hdrs = set()
|
||||
for h in list_of_headers:
|
||||
ms = [k for k, v in module_db.items() if h in v['headers']]
|
||||
found_modules |= set(ms)
|
||||
if not ms:
|
||||
orphan_hdrs.add(h)
|
||||
|
||||
return {'modules': found_modules, 'headers': orphan_hdrs}
|
||||
|
||||
|
||||
def usage_requirements(module_name, module_db):
|
||||
""" Find modules needed publically and privately by input module
|
||||
"""
|
||||
module_path = module_db[module_name]['location']
|
||||
module_headers = module_db[module_name]['headers']
|
||||
|
||||
# Determine public usage reqs
|
||||
includes_from_headers = scan_files(os.path.join(module_path, "include"))
|
||||
includes_from_headers -= module_headers
|
||||
public_deps = find_modules(includes_from_headers, module_db)
|
||||
|
||||
# The same for private
|
||||
includes_from_srcs = scan_files(os.path.join(module_path, "src"))
|
||||
includes_from_srcs -= module_headers
|
||||
private_deps = find_modules(includes_from_srcs, module_db)
|
||||
# Public deps are higher priority
|
||||
private_deps['modules'] -= public_deps['modules']
|
||||
private_deps['headers'] -= public_deps['headers']
|
||||
|
||||
# Transform results to output dict
|
||||
d = {'module': module_name,
|
||||
'dependencies': {
|
||||
'public': sorted(public_deps['modules']),
|
||||
'private': sorted(private_deps['modules'])
|
||||
},
|
||||
'external_headers': {
|
||||
'public': sorted(public_deps['headers']),
|
||||
'private': sorted(private_deps['headers'])
|
||||
}
|
||||
}
|
||||
return d
|
||||
|
||||
|
||||
def check_consistency(module_name, module_db):
|
||||
""" Check module declared/apparent dependencies for consistency
|
||||
"""
|
||||
# NB: Can have false positives from externals G4expat, G4clhep, G4zlib, G4tools (plus imported :: targets)
|
||||
def filter_dependencies(dep_list):
|
||||
return set([x for x in dep_list if not re.match("^.+::.+", x)]) - set(['G4expat', 'G4clhep', 'G4zlib', 'G4tools', 'G4ptl'])
|
||||
|
||||
ur = usage_requirements(module_name, module_db)
|
||||
apparent_public_deps = filter_dependencies(ur['dependencies']['public'])
|
||||
apparent_private_deps = filter_dependencies(ur['dependencies']['private'])
|
||||
|
||||
declared_public_deps = filter_dependencies(
|
||||
module_db[module_name]['public_deps'])
|
||||
declared_private_deps = filter_dependencies(
|
||||
module_db[module_name]['private_deps'])
|
||||
|
||||
# Collate any consistency errors
|
||||
report = []
|
||||
# - Declared dependencies duplicated between public/private
|
||||
# Later checks will help distinguish what to do with this
|
||||
duplicated_deps = declared_public_deps & declared_private_deps
|
||||
if duplicated_deps:
|
||||
report.append(
|
||||
f'- has duplicated PUBLIC/PRIVATE dependencies: {duplicated_deps}')
|
||||
|
||||
# - Apparent dep not declared
|
||||
missing_public_deps = apparent_public_deps - declared_public_deps
|
||||
if missing_public_deps:
|
||||
report.append(
|
||||
f'- may require PUBLIC dependencies: {missing_public_deps}')
|
||||
|
||||
missing_private_deps = apparent_private_deps - declared_private_deps
|
||||
if missing_private_deps:
|
||||
report.append(
|
||||
f'- may require PRIVATE dependencies: {missing_private_deps}')
|
||||
|
||||
# - Declared dep not in apparent (overdeclared)
|
||||
overdeclared_public_deps = declared_public_deps - apparent_public_deps
|
||||
if overdeclared_public_deps:
|
||||
report.append(
|
||||
f'- may not require PUBLIC dependencies: {overdeclared_public_deps}')
|
||||
|
||||
overdeclared_private_deps = declared_private_deps - apparent_private_deps
|
||||
if overdeclared_private_deps:
|
||||
report.append(
|
||||
f'- may not require PRIVATE dependencies: {overdeclared_private_deps}')
|
||||
|
||||
return report
|
||||
|
||||
|
||||
def find_cycles(module_db, verbose):
|
||||
""" Check for any cycles in the complete module dependency graph
|
||||
"""
|
||||
# Build adjacency list
|
||||
adjlist = {}
|
||||
for k, v in module_db.items():
|
||||
adjlist[k] = list(v['public_deps'] | v['private_deps']
|
||||
| v['interface_deps'])
|
||||
|
||||
try:
|
||||
# Topo sort throws cycle error if one occurs during prepare
|
||||
ts = graphlib.TopologicalSorter(adjlist)
|
||||
ts.prepare()
|
||||
|
||||
# Verbose print of nodes in topological order
|
||||
# NB: This uses the full graphlib interface in case we want to
|
||||
# print out nodes grouped by level in the graph.
|
||||
if verbose:
|
||||
generation = 0
|
||||
while ts.is_active():
|
||||
nodes = ts.get_ready()
|
||||
print(f'Generation: {generation}')
|
||||
for n in nodes:
|
||||
print(f' {n}')
|
||||
ts.done(*nodes)
|
||||
generation += 1
|
||||
|
||||
print(f"pass: No cycles detected in module dependency graph")
|
||||
except graphlib.CycleError as err:
|
||||
print(
|
||||
f"error: cycles detected in module dependency graph",
|
||||
file=sys.stderr,
|
||||
)
|
||||
cycle = " <- ".join(err.args[1])
|
||||
print(f"cycle: {cycle}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Parse command line to get command to run
|
||||
parser = argparse.ArgumentParser(
|
||||
description=str(__doc__), formatter_class=argparse.RawDescriptionHelpFormatter
|
||||
)
|
||||
parser.add_argument("-db", default='G4ModuleInterfaceMap.csv',
|
||||
metavar="FILE", help="module interface map file")
|
||||
parser.add_argument("-v", "--verbose",
|
||||
action="store_true", help="verbose output")
|
||||
|
||||
query_group = parser.add_mutually_exclusive_group(required=True)
|
||||
|
||||
query_group.add_argument(
|
||||
"-l", "--list",
|
||||
action='store_true',
|
||||
help="list declared source code modules"
|
||||
)
|
||||
query_group.add_argument(
|
||||
"-i", "--interface",
|
||||
metavar="<module>",
|
||||
help="print public headers of module",
|
||||
)
|
||||
query_group.add_argument(
|
||||
"-p", "--provides",
|
||||
metavar="<header>",
|
||||
help="print module that provides this header"
|
||||
)
|
||||
query_group.add_argument(
|
||||
"-u", "--usage-requirements",
|
||||
metavar="<module>",
|
||||
help="determine and print usage requirements of module"
|
||||
)
|
||||
query_group.add_argument(
|
||||
"-c", "--check-consistency",
|
||||
metavar="<module>",
|
||||
help="check declared and apparent module dependencies for basic consistency"
|
||||
)
|
||||
query_group.add_argument(
|
||||
"--find-cycles",
|
||||
action="store_true",
|
||||
help="find cycles in graph of declared modules dependencies"
|
||||
)
|
||||
query_group.add_argument(
|
||||
"--find-inconsistencies",
|
||||
action="store_true",
|
||||
help="find inconsistencies in apparent/declared dependencies of all modules"
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
# Initialize the module/header "database"
|
||||
try:
|
||||
db = initdb(args.db)
|
||||
except OSError as err:
|
||||
print(f"Could not initalize module DB: {err}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
# Implementations
|
||||
if args.list:
|
||||
print("\n".join(db.keys()))
|
||||
elif args.interface:
|
||||
try:
|
||||
print("\n".join(db[args.interface]['headers']))
|
||||
except KeyError as err:
|
||||
print(f"No module named {err}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
elif args.provides:
|
||||
# find the header, there should not be duplicates!
|
||||
mods = [k for k, v in db.items() if args.provides in v['headers']]
|
||||
if len(mods) == 0:
|
||||
print(
|
||||
f"No module provides header '{args.provides}'",
|
||||
file=sys.stderr)
|
||||
sys.exit(1)
|
||||
if len(mods) > 1:
|
||||
print(
|
||||
f"Header '{args.provides}' is provided by multiple modules: {mods}",
|
||||
file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
print(mods[0])
|
||||
elif args.usage_requirements:
|
||||
ur = usage_requirements(args.usage_requirements, db)
|
||||
print(json.dumps(ur, indent=2))
|
||||
elif args.check_consistency:
|
||||
cc = check_consistency(args.check_consistency, db)
|
||||
if cc:
|
||||
print(f'{args.check_consistency}:', file=sys.stderr)
|
||||
print("\n".join(cc), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
else:
|
||||
print(
|
||||
f'{args.check_consistency} appears consistent')
|
||||
elif args.find_cycles:
|
||||
find_cycles(db, args.verbose)
|
||||
elif args.find_inconsistencies:
|
||||
inconsistent = {}
|
||||
for m in db.keys():
|
||||
cc = check_consistency(m, db)
|
||||
if cc:
|
||||
inconsistent[m] = "\n".join(cc)
|
||||
|
||||
if len(inconsistent) > 0:
|
||||
print(f'Inconsistent dependencies in modules:', file=sys.stderr)
|
||||
for k, v in inconsistent.items():
|
||||
print(f'{k}:\n{v}', file=sys.stderr)
|
||||
|
||||
sys.exit(1)
|
||||
@@ -80,7 +80,7 @@
|
||||
# ui_win32 (WIN32 Style Application Command Line Interface)
|
||||
#
|
||||
# motif (Motif-X11/OpenGL Graphical User Interface)
|
||||
# qt (Qt5/OpenGL Graphical User Interface)
|
||||
# qt (Qt/OpenGL Graphical User Interface)
|
||||
#
|
||||
# vis_opengl_x11 (OpenGL visualization with X11 interface)
|
||||
# vis_opengl_win32 (OpenGL visualization with X11 interface)
|
||||
@@ -264,17 +264,24 @@ if(NOT Geant4_builtin_zlib_FOUND)
|
||||
find_dependency(ZLIB @ZLIB_VERSION_STRING@)
|
||||
endif()
|
||||
|
||||
# PTL/TBB
|
||||
# - Refind of PTL will refind TBB
|
||||
set(Geant4_system_ptl_FOUND @GEANT4_USE_SYSTEM_PTL@)
|
||||
set(Geant4_TBB_FOUND @GEANT4_USE_TBB@)
|
||||
if(Geant4_system_ptl_FOUND)
|
||||
set(Geant4_builtin_ptl_FOUND FALSE)
|
||||
find_dependency(PTL @PTL_VERSION_STRING@)
|
||||
if(Geant4_TBB_FOUND)
|
||||
find_dependency(PTL @PTL_VERSION@ COMPONENTS TBB)
|
||||
else()
|
||||
find_dependency(PTL @PTL_VERSION@)
|
||||
endif()
|
||||
else()
|
||||
# We know exactly where PTL is
|
||||
set(Geant4_builtin_ptl_FOUND TRUE)
|
||||
if(CMAKE_VERSION VERSION_GREATER 3.8.9999)
|
||||
find_dependency(PTL @PTL_VERSION_STRING@ NO_DEFAULT_PATH PATHS "@PACKAGE_PTL_PREFIX@")
|
||||
find_dependency(PTL NO_DEFAULT_PATH PATHS "@PACKAGE_PTL_PREFIX@")
|
||||
else()
|
||||
find_package(PTL @PTL_VERSION_STRING@ REQUIRED NO_DEFAULT_PATH PATHS "@PACKAGE_PTL_PREFIX@")
|
||||
find_package(PTL REQUIRED NO_DEFAULT_PATH PATHS "@PACKAGE_PTL_PREFIX@")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -300,12 +307,6 @@ set(Geant4_smartstack_FOUND @GEANT4_USE_SMARTSTACK@)
|
||||
# - ParticleHP as HP
|
||||
set(Geant4_php_as_hp_FOUND @GEANT4_BUILD_PHP_AS_HP@)
|
||||
|
||||
# - TBB
|
||||
set(Geant4_TBB_FOUND @GEANT4_USE_TBB@)
|
||||
if(Geant4_TBB_FOUND)
|
||||
find_dependency(TBB @TBB_VERSION@)
|
||||
endif()
|
||||
|
||||
# - TiMemory
|
||||
set(Geant4_timemory_FOUND @GEANT4_USE_TIMEMORY@)
|
||||
if(Geant4_timemory_FOUND)
|
||||
@@ -399,18 +400,18 @@ endif()
|
||||
set(Geant4_qt_FOUND @GEANT4_USE_QT@)
|
||||
set(Geant4_qt3d_FOUND @GEANT4_USE_QT3D@)
|
||||
if(Geant4_qt_FOUND)
|
||||
# Must always refind Qt5 to recreate imported targets. Because these
|
||||
# Must always refind Qt to recreate imported targets. Because these
|
||||
# are in the public interface, always need linking.
|
||||
find_dependency(Qt5Core REQUIRED)
|
||||
find_dependency(Qt5Gui REQUIRED)
|
||||
find_dependency(Qt5Widgets REQUIRED)
|
||||
find_dependency(Qt5OpenGL REQUIRED)
|
||||
find_dependency(Qt5PrintSupport REQUIRED)
|
||||
find_dependency(Qt@QT_VERSION_MAJOR@Core REQUIRED)
|
||||
find_dependency(Qt@QT_VERSION_MAJOR@Gui REQUIRED)
|
||||
find_dependency(Qt@QT_VERSION_MAJOR@Widgets REQUIRED)
|
||||
find_dependency(Qt@QT_VERSION_MAJOR@OpenGL REQUIRED)
|
||||
find_dependency(Qt@QT_VERSION_MAJOR@PrintSupport REQUIRED)
|
||||
|
||||
if(Geant4_qt3d_FOUND)
|
||||
find_dependency(Qt53DCore @QT3D_MINIMUM_VERSION@ REQUIRED)
|
||||
find_dependency(Qt53DExtras @QT3D_MINIMUM_VERSION@ REQUIRED)
|
||||
find_dependency(Qt53DRender @QT3D_MINIMUM_VERSION@ REQUIRED)
|
||||
find_dependency(Qt@QT_VERSION_MAJOR@3DCore @QT3D_MINIMUM_VERSION@ REQUIRED)
|
||||
find_dependency(Qt@QT_VERSION_MAJOR@3DExtras @QT3D_MINIMUM_VERSION@ REQUIRED)
|
||||
find_dependency(Qt@QT_VERSION_MAJOR@3DRender @QT3D_MINIMUM_VERSION@ REQUIRED)
|
||||
endif()
|
||||
|
||||
# Also require OpenGL
|
||||
@@ -712,7 +713,6 @@ list(APPEND _geant4_internal_libraries
|
||||
${_geant4_physicslists_library}
|
||||
Geant4::G4run${_geant4_lib_use_suffix}
|
||||
Geant4::G4event${_geant4_lib_use_suffix}
|
||||
Geant4::G4tasking${_geant4_lib_use_suffix}
|
||||
Geant4::G4tracking${_geant4_lib_use_suffix}
|
||||
Geant4::G4parmodels${_geant4_lib_use_suffix}
|
||||
Geant4::G4processes${_geant4_lib_use_suffix}
|
||||
@@ -724,7 +724,8 @@ list(APPEND _geant4_internal_libraries
|
||||
Geant4::G4graphics_reps${_geant4_lib_use_suffix}
|
||||
Geant4::G4intercoms${_geant4_lib_use_suffix}
|
||||
Geant4::G4global${_geant4_lib_use_suffix}
|
||||
Geant4::G4tools${_geant4_lib_use_suffix}
|
||||
# G4tools is INTERFACE, so same for both static/shared.
|
||||
Geant4::G4tools
|
||||
)
|
||||
|
||||
# - Any externals built by Geant4
|
||||
|
||||
@@ -1,94 +1,12 @@
|
||||
# - Use file for Geant4
|
||||
# This file may be included after a find_package call has successfully
|
||||
# located Geant4 to set global compile definitions, include directories,
|
||||
# and compiler flags for building and linking to the Geant4 libraries.
|
||||
#
|
||||
# If Geant4 has been located via the Geant4Config.cmake config file, the
|
||||
# following variable will be set:
|
||||
#
|
||||
# Geant4_USE_FILE : Point to the location of the use file for the found
|
||||
# Geant4 installation.
|
||||
#
|
||||
# Inclusion of this file, e.g. via
|
||||
#
|
||||
# include(${Geant4_USE_FILE})
|
||||
#
|
||||
# results in the addition of the Geant4 compile definitions and
|
||||
# include directories to those of the directory in which this file is
|
||||
# included.
|
||||
#
|
||||
# Header paths are added via include_directories as SYSTEM type directories
|
||||
#
|
||||
# The recommended Geant4 compiler flags are also prepended to
|
||||
# CMAKE_CXX_FLAGS but duplicated flags are NOT removed. This permits
|
||||
# client of UseGeant4 to override Geant4's recommended flags if required
|
||||
# and at their own risk.
|
||||
#
|
||||
# Advanced users requiring special sets of flags, or the removal of
|
||||
# duplicate flags should therefore *not* use this file, preferring the
|
||||
# direct use of the Geant4_XXXX variables set by the Geant4Config file.
|
||||
#
|
||||
# The last thing the module does is to optionally include an internal Use
|
||||
# file. This file can contain variables, functions and macros for strict
|
||||
# internal use in Geant4, such as building and running validation tests.
|
||||
# Optional inclusion of internal Use file. This file can contain
|
||||
# variables, functions and macros for strict internal use in Geant4,
|
||||
# such as building and running validation tests.
|
||||
#
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/UseGeant4_internal.cmake OPTIONAL)
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# We need to set the compile definitions and include directories
|
||||
#
|
||||
add_definitions(${Geant4_DEFINITIONS})
|
||||
include_directories(AFTER SYSTEM ${Geant4_INCLUDE_DIRS})
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Because Geant4 is sensitive to the compiler flags, set the base
|
||||
# set here. This reproduces as far as possible the behaviour of the
|
||||
# original makefile system.
|
||||
#
|
||||
set(CMAKE_CXX_FLAGS "${Geant4_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${Geant4_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL "${Geant4_CXX_FLAGS_MINSIZEREL} ${CMAKE_CXX_FLAGS_MINSIZEREL}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${Geant4_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${Geant4_CXX_FLAGS_RELWITHDEBINFO} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${Geant4_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Update build type information ONLY for single mode build tools, adding
|
||||
# type used to build this install if none has been set, but otherwise leaving
|
||||
# value alone.
|
||||
# NB: this doesn't allow "None" for the build type - would need something
|
||||
# more sophisticated using an internal cache variable.
|
||||
# Good enough for now!
|
||||
#
|
||||
if(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
# Default to type used to build this install.
|
||||
set(CMAKE_BUILD_TYPE "${Geant4_BUILD_TYPE}"
|
||||
CACHE STRING "Choose the type of build, options are: None Release MinSizeRel Debug RelWithDebInfo MinSizeRel."
|
||||
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 MinSizeRel Debug RelWithDebInfo MinSizeRel."
|
||||
FORCE
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Locate ourselves
|
||||
#
|
||||
get_filename_component(_use_geant4_dir ${CMAKE_CURRENT_LIST_FILE} PATH)
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Append the local module path to CMAKE_MODULE_PATH to automatically
|
||||
# make FindXXX modules for examples available
|
||||
#
|
||||
list(APPEND CMAKE_MODULE_PATH ${_use_geant4_dir}/Modules)
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Include internal use file if it exists. It should only exist in the
|
||||
# build tree!
|
||||
#
|
||||
include(${_use_geant4_dir}/UseGeant4_internal.cmake OPTIONAL)
|
||||
|
||||
# Add Module directory so that examples can use internal "FindXXX"
|
||||
# modules. Appended to minimize any conflict with consumer project
|
||||
# settings
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules)
|
||||
|
||||
@@ -159,7 +159,17 @@ function(geant4_add_test test)
|
||||
--no-warn-unused-cli
|
||||
-DGeant4_DIR=${CMAKE_BINARY_DIR}
|
||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
|
||||
-DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}
|
||||
-DCMAKE_C_FLAGS_MINSIZEREL=${CMAKE_C_FLAGS_MINSIZEREL}
|
||||
-DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO}
|
||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
|
||||
-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
|
||||
-DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
|
||||
-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_ROOT=$<BOOL:${CMAKE_DISABLE_FIND_PACKAGE_ROOT}>
|
||||
)
|
||||
set_property(TEST ${__build_test_name} PROPERTY ENVIRONMENT Geant4_DIR=${CMAKE_BINARY_DIR})
|
||||
|
||||
@@ -48,6 +48,9 @@ scriptloc=`dirname $script`
|
||||
# Expansion and calculation of all needed variables
|
||||
#
|
||||
prefix=@GEANT4_CONFIG_INSTALL_PREFIX@
|
||||
# canonicalize path
|
||||
prefix=`cd "$prefix" 2>/dev/null; pwd -P`
|
||||
|
||||
exec_prefix=@GEANT4_CONFIG_EXECPREFIX@
|
||||
libdir=@GEANT4_CONFIG_LIBDIR@
|
||||
includedirs="@GEANT4_CONFIG_INCLUDE_DIRS@"
|
||||
@@ -113,16 +116,15 @@ done
|
||||
|
||||
libs="-lG4interfaces \
|
||||
-lG4persistency \
|
||||
-lG4analysis \
|
||||
-lG4error_propagation \
|
||||
-lG4readout \
|
||||
-lG4physicslists \
|
||||
-lG4tasking \
|
||||
-lG4run \
|
||||
-lG4event \
|
||||
-lG4tracking \
|
||||
-lG4parmodels \
|
||||
-lG4processes \
|
||||
-lG4analysis \
|
||||
-lG4digits_hits \
|
||||
-lG4track \
|
||||
-lG4particles \
|
||||
@@ -131,7 +133,6 @@ libs="-lG4interfaces \
|
||||
-lG4graphics_reps \
|
||||
-lG4intercoms \
|
||||
-lG4global \
|
||||
-lG4tools \
|
||||
@G4_LINK_CXX_FILESYSTEM@"
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
@@ -224,6 +225,11 @@ fi
|
||||
geant4_uses_opengl="yes"
|
||||
fi
|
||||
|
||||
# - QT3D
|
||||
have_qt3d="@G4_BUILTWITH_QT3D@"
|
||||
feature_list="${feature_list} qt3d[${have_qt3d}]"
|
||||
|
||||
|
||||
# - Motif
|
||||
have_motif="@G4_BUILTWITH_MOTIF@"
|
||||
feature_list="${feature_list} motif[${have_motif}]"
|
||||
@@ -264,6 +270,11 @@ if test "x${have_openinventor}" = "xyes" ; then
|
||||
vis_libs="-lG4OpenInventor ${vis_libs}"
|
||||
fi
|
||||
|
||||
# - VTK
|
||||
have_vtk="@G4_BUILTWITH_VTK@"
|
||||
feature_list="${feature_list} vtk[${have_vtk}]"
|
||||
|
||||
|
||||
# - If we have any OpenGL based feature, then we need to add in the
|
||||
# OpenGL global define and the G4OpenGL/G4gl2ps libraries.
|
||||
if test "x${geant4_uses_opengl}" = "xyes" ; then
|
||||
@@ -304,6 +315,36 @@ print_datasets()
|
||||
exit 0
|
||||
}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# function print_datasets_sh
|
||||
# print dataset information with one line per dataset and each
|
||||
# line in the format
|
||||
# export <ENVVARNAME>="<PATH>"
|
||||
print_datasets_sh()
|
||||
{
|
||||
for ds in ${dataset_list} ; do
|
||||
dataset_envvar=$(echo $ds | cut -d "|" -f2)
|
||||
dataset_path=$(echo $ds | cut -d "|" -f3)
|
||||
echo "export ${dataset_envvar}=\"${dataset_path}\""
|
||||
done
|
||||
exit 0
|
||||
}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# function print_datasets_csh
|
||||
# print dataset information with one line per dataset and each
|
||||
# line in the format
|
||||
# setenv <ENVVARNAME> "<PATH>";
|
||||
print_datasets_csh()
|
||||
{
|
||||
for ds in ${dataset_list} ; do
|
||||
dataset_envvar=$(echo $ds | cut -d "|" -f2)
|
||||
dataset_path=$(echo $ds | cut -d "|" -f3)
|
||||
echo "setenv ${dataset_envvar} \"${dataset_path}\";"
|
||||
done
|
||||
exit 0
|
||||
}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# function check_datasets
|
||||
# Check whether datasets exist as directories at the expected
|
||||
@@ -336,8 +377,15 @@ install_datasets()
|
||||
|
||||
G4OPENSSL=$(which openssl)
|
||||
if test "x${G4OPENSSL}" = "x" ; then
|
||||
echo "- error: no openssl executable found"
|
||||
G4MD5SUM=$(which md5sum)
|
||||
if test "x${G4MD5SUM}" = "x" ; then
|
||||
echo "- error: no openssl or md5sum executable found"
|
||||
exit 1
|
||||
else
|
||||
G4MD5CMD="${G4MD5SUM} --tag"
|
||||
fi
|
||||
else
|
||||
G4MD5CMD="${G4OPENSSL} dgst -md5"
|
||||
fi
|
||||
|
||||
G4TAR=$(which tar)
|
||||
@@ -390,7 +438,7 @@ install_datasets()
|
||||
|
||||
# Validate bundle hash (basic)
|
||||
dataset_md5=$(echo $ds | cut -d "|" -f5)
|
||||
actual_md5=$(${G4OPENSSL} dgst -md5 ${g4downloaddir}/${dataset_file} | cut -d" " -f2)
|
||||
actual_md5=$(${G4MD5CMD} ${g4downloaddir}/${dataset_file} | tr -d ' ' | cut -d"=" -f2)
|
||||
echo "+ checking md5 of ${dataset_file}"
|
||||
if [ "${actual_md5}" != "${dataset_md5}" ] ; then
|
||||
echo "- md5 mismatch for '${dataset_file}' : ${actual_md5}(actual) != ${dataset_md5}(expected)"
|
||||
@@ -440,6 +488,21 @@ install_datasets()
|
||||
exit 1
|
||||
}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# function list_features
|
||||
# print list of enabled and disabled features.
|
||||
#
|
||||
list_features()
|
||||
{
|
||||
cat<<EOF
|
||||
Known Features:
|
||||
EOF
|
||||
for f in ${feature_list} ; do
|
||||
echo " $f"
|
||||
done
|
||||
exit 0
|
||||
}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# function help
|
||||
# print help on available command line arguments and enabled
|
||||
@@ -465,6 +528,16 @@ Usage: geant4-config [OPTION...]
|
||||
--has-feature FEATURE output yes if FEATURE is supported,
|
||||
or no if not supported
|
||||
|
||||
--features print list of features
|
||||
|
||||
--sh print shell commands required to set environment
|
||||
variables for Geant4, which can be evaluated in
|
||||
the calling shell with "eval \$(geant4-config --sh)"
|
||||
|
||||
--csh print C shell commands required to set environment
|
||||
variables for Geant4, which can be evaluated in
|
||||
the calling shell with "eval \`geant4-config --csh\`"
|
||||
|
||||
--datasets output dataset name, environment variable
|
||||
and path, with one line per dataset
|
||||
|
||||
@@ -514,14 +587,16 @@ fi
|
||||
while test $# -gt 0 ; do
|
||||
case "$1" in
|
||||
-*=*)
|
||||
optflag=`echo "$1" | sed 's/=[-_a-zA-Z0-9]*//'`
|
||||
optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
|
||||
;;
|
||||
*)
|
||||
optflag=$1
|
||||
optarg=
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$1" in
|
||||
case "$optflag" in
|
||||
--prefix)
|
||||
echo ${prefix}
|
||||
;;
|
||||
@@ -555,9 +630,17 @@ while test $# -gt 0 ; do
|
||||
;;
|
||||
|
||||
--has-feature)
|
||||
if [ x$optarg = x ]; then
|
||||
if [ $# -gt 1 ]; then
|
||||
shift
|
||||
optarg=$1
|
||||
else
|
||||
echo "$optflag - missing parameter"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
case "$optarg" in
|
||||
static)
|
||||
echo ${have_staticlibs}
|
||||
;;
|
||||
@@ -594,6 +677,12 @@ while test $# -gt 0 ; do
|
||||
qt)
|
||||
echo ${have_qt}
|
||||
;;
|
||||
qt3d)
|
||||
echo ${have_qt3d}
|
||||
;;
|
||||
vtk)
|
||||
echo ${have_vtk}
|
||||
;;
|
||||
motif)
|
||||
echo ${have_motif}
|
||||
;;
|
||||
@@ -615,6 +704,10 @@ while test $# -gt 0 ; do
|
||||
esac
|
||||
;;
|
||||
|
||||
--features)
|
||||
list_features
|
||||
;;
|
||||
|
||||
--datasets)
|
||||
print_datasets
|
||||
;;
|
||||
@@ -627,6 +720,14 @@ while test $# -gt 0 ; do
|
||||
install_datasets
|
||||
;;
|
||||
|
||||
--sh)
|
||||
print_datasets_sh
|
||||
;;
|
||||
|
||||
--csh)
|
||||
print_datasets_csh
|
||||
;;
|
||||
|
||||
-?)
|
||||
help
|
||||
;;
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#
|
||||
set(GEANT4_FALSEPOSITIVE_SOURCES
|
||||
# G4{Global,Geom}Config.hh generated
|
||||
G4FindDataDir.hh
|
||||
G4GlobalConfig.hh
|
||||
G4GeomConfig.hh
|
||||
# - Xaw is deprecated...
|
||||
|
||||
+20
-12
@@ -1,19 +1,27 @@
|
||||
-------------------------------------------------------------------
|
||||
# Category config History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top).
|
||||
It must **not** be used as a substitute for writing good git commit messages!
|
||||
|
||||
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 !
|
||||
## 2022-03-25 Ben Morgan (config-V11-00-03)
|
||||
- Retire G4tasking category and library from build
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
## 2022-02-06 Gabriele Cosmo (config-V11-00-02)
|
||||
- Updated compilation flags for Intel icc/icx compilers.
|
||||
- Enable -pthread only for MT builds in other configurations.
|
||||
|
||||
## 2022-02-04 Gabriele Cosmo (config-V11-00-01)
|
||||
- Added Linux-icx.gmk configuration for Intel OneAPI DPC++ compiler.
|
||||
|
||||
## 2021-12-10 Ben Morgan (config-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
4th November 2021 Gabriele Cosmo (config-V10-07-09)
|
||||
- Updated default Qt5 include paths for Linux targets.
|
||||
|
||||
@@ -154,7 +154,6 @@ ifndef INCFLAGS
|
||||
-I$(G4BASE)/geometry/navigation/include \
|
||||
-I$(G4BASE)/geometry/magneticfield/include \
|
||||
-I$(G4BASE)/geometry/biasing/include \
|
||||
-I$(G4BASE)/tasking/include \
|
||||
-I$(G4BASE)/track/include \
|
||||
-I$(G4BASE)/tracking/include \
|
||||
-I$(G4BASE)/digits_hits/detector/include \
|
||||
@@ -236,7 +235,6 @@ ifdef GLOBALLIBS
|
||||
LDLIBS2 += -lG4error_propagation \
|
||||
-lG4readout \
|
||||
-lG4physicslists \
|
||||
-lG4tasking \
|
||||
-lG4run \
|
||||
-lG4event \
|
||||
-lG4tracking \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# ------ MacOS-X ------
|
||||
# macOS 11, Apple clang-12 and higher
|
||||
# ------ macOS ------
|
||||
# macOS, Apple clang-12 and higher
|
||||
#
|
||||
# Original author: Gabriele Cosmo - CERN
|
||||
#
|
||||
@@ -15,7 +15,7 @@ ifeq ($(G4SYSTEM),Darwin-clang)
|
||||
CXXFLAGS += -std=c++17
|
||||
G4USE_STD17 := 1
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O3
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# ------ MacOS-X ------
|
||||
# macOS 11, gcc-9.3 and higher
|
||||
# ------ macOS ------
|
||||
# macOS, gcc-9.3 and higher
|
||||
#
|
||||
# Original author: Helmut Burkhardt - CERN
|
||||
# Revisions: Guy Barrand - LAL
|
||||
@@ -18,6 +18,9 @@ ifeq ($(G4SYSTEM),Darwin-g++)
|
||||
CXXFLAGS += -std=c++17
|
||||
# CXXFLAGS += -stdlib=libstdc++
|
||||
G4USE_STD17 := 1
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O3
|
||||
FCFLAGS := -O3
|
||||
|
||||
@@ -7,13 +7,13 @@ ifeq ($(G4SYSTEM),Linux-clang)
|
||||
CXX := clang++
|
||||
CXXFLAGS := -Wall -Wno-non-virtual-dtor -Wno-long-long
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe -pthread
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe
|
||||
CXXFLAGS += -fno-trapping-math -ftree-vectorize -fno-math-errno
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
G4USE_STD17 := 1
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O3
|
||||
|
||||
@@ -5,13 +5,13 @@ ifeq ($(G4SYSTEM),Linux-g++)
|
||||
CXX := g++
|
||||
CXXFLAGS := -W -Wall -ansi -pedantic -Wno-non-virtual-dtor -Wno-long-long
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe -pthread
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe
|
||||
CXXFLAGS += -fno-trapping-math -ftree-vectorize -fno-math-errno
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
G4USE_STD17 := 1
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O3
|
||||
|
||||
@@ -3,12 +3,15 @@
|
||||
#
|
||||
ifeq ($(G4SYSTEM),Linux-icc)
|
||||
CXX := icc
|
||||
CXXFLAGS := -ansi -fp-model precise -w1 -pthread
|
||||
CXXFLAGS := -W -Wall -ansi -pedantic -Wno-non-virtual-dtor -Wno-long-long
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe
|
||||
CXXFLAGS += -fp-model precise
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
G4USE_STD17 := 1
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O3
|
||||
@@ -41,6 +44,7 @@ ifeq ($(G4SYSTEM),Linux-icc)
|
||||
AR := ar r
|
||||
ECHO := /bin/echo -e
|
||||
SHEXT := so
|
||||
LOADLIBS += -limf
|
||||
ifndef X11FLAGS
|
||||
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
#
|
||||
# ------ GNU/LINUX ------ Intel OneAPI DPC++ 2022.x and higher
|
||||
#
|
||||
ifeq ($(G4SYSTEM),Linux-icx)
|
||||
CXX := icpx
|
||||
CXXFLAGS := -W -Wall -ansi -pedantic -Wno-non-virtual-dtor -Wno-long-long
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe
|
||||
CXXFLAGS += -fno-trapping-math -ftree-vectorize -fno-math-errno
|
||||
CXXFLAGS += -fp-model precise
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
G4USE_STD17 := 1
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O3
|
||||
FCFLAGS := -O3
|
||||
CCFLAGS := -O3
|
||||
else
|
||||
ifdef G4DEBUG
|
||||
CXXFLAGS += -g
|
||||
FCFLAGS := -g
|
||||
CCFLAGS := -g
|
||||
endif
|
||||
endif
|
||||
ifdef G4PROFILE
|
||||
CXXFLAGS += -qp
|
||||
FCFLAGS += -qp
|
||||
CCFLAGS += -pg
|
||||
endif
|
||||
ifdef G4LIB_BUILD_SHARED
|
||||
CXXFLAGS += -fPIC
|
||||
FCFLAGS += -fPIC
|
||||
CCFLAGS += -fPIC
|
||||
endif
|
||||
G4RUNPATHOPTION := -Wl,-rpath -Wl,
|
||||
G4STATIC_MODE += -Wl,--whole-archive
|
||||
G4NOSTATIC_MODE += -Wl,--no-whole-archive
|
||||
CC := icx
|
||||
FC := ifx
|
||||
FCFLAGS += -noautomatic -assume nobscc -assume no2underscores
|
||||
FCLIBS := -lg2c -lnsl
|
||||
AR := ar r
|
||||
ECHO := /bin/echo -e
|
||||
SHEXT := so
|
||||
LOADLIBS += -limf
|
||||
ifndef X11FLAGS
|
||||
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
|
||||
endif
|
||||
ifndef X11LIBS
|
||||
X11LIBS := -L/usr/lib -lXmu -lXt -lXext -lX11 -lSM -lICE
|
||||
endif
|
||||
ifndef XMFLAGS
|
||||
XMFLAGS := -I/usr/include
|
||||
endif
|
||||
ifndef XMLIBS
|
||||
XMLIBS := -lXm -lXpm
|
||||
endif
|
||||
ifndef XAWFLAGS
|
||||
XAWFLAGS := -I/usr/include
|
||||
endif
|
||||
ifndef XAWLIBS
|
||||
XAWLIBS := -lXaw
|
||||
endif
|
||||
DLDLIBS := -ldl
|
||||
ifndef OGLFLAGS
|
||||
OGLFLAGS := -I$(OGLHOME)/include
|
||||
endif
|
||||
ifndef OGLHOME
|
||||
OGLHOME := /usr
|
||||
endif
|
||||
ifndef OGLLIBS
|
||||
OGLLIBS := -L$(OGLHOME)/lib -lGL
|
||||
endif
|
||||
|
||||
# ---- QT Setup block -------------------------------------------------------
|
||||
|
||||
ifndef QTHOME
|
||||
QTHOME := /usr
|
||||
endif
|
||||
ifndef QTMOC
|
||||
QTMOC := $(QTHOME)/bin/moc
|
||||
endif
|
||||
|
||||
ifndef QT_VERSION
|
||||
QT_VERSION := 5
|
||||
endif
|
||||
|
||||
ifeq ($(QT_VERSION),5)
|
||||
ifndef QTFLAGS # Qt5
|
||||
QTFLAGS := -I $(QTHOME)/include -I$(QTHOME)/include/Qt
|
||||
QTFLAGS += -I $(QTHOME)/include/QtCore
|
||||
QTFLAGS += -I $(QTHOME)/include/QtGui
|
||||
QTFLAGS += -I $(QTHOME)/include/QtWidgets
|
||||
QTFLAGS += -I $(QTHOME)/include/QtOpenGL
|
||||
QTFLAGS += -I $(QTHOME)/include/Qt3DCore
|
||||
QTFLAGS += -I $(QTHOME)/include/Qt3DExtras
|
||||
QTFLAGS += -I $(QTHOME)/include/Qt3DRender
|
||||
QTFLAGS += -I $(QTHOME)/include/QtPrintSupport
|
||||
endif
|
||||
else # Qt4
|
||||
ifndef QTFLAGS
|
||||
QTFLAGS := -I$(QTHOME)/include -I$(QTHOME)/include/Qt
|
||||
QTFLAGS += -I$(QTHOME)/include/QtCore
|
||||
QTFLAGS += -I$(QTHOME)/include/QtGui
|
||||
QTFLAGS += -I$(QTHOME)/include/QtOpenGL
|
||||
endif
|
||||
endif
|
||||
ifndef QTLIBPATH
|
||||
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
|
||||
ifeq ($(QT_VERSION),5)
|
||||
ifndef QTLIBS # Qt5
|
||||
QTLIBS := -L$(QTLIBPATH) -lQt5Core -lQt5Gui -lQt5Widgets -lQt5PrintSupport
|
||||
endif
|
||||
ifndef QT3DLIBS
|
||||
QT3DLIBS := -L$(QTLIBPATH) -lQt5Core -lQt5Gui -lQt5Widgets -lQt53DCore -lQt53DExtras -lQt53DRender -lQt5PrintSupport
|
||||
endif
|
||||
ifndef GLQTLIBS
|
||||
GLQTLIBS := -L$(QTLIBPATH) -lQt5Core -lQt5Gui -lQt5Widgets -lQt5OpenGL -lQt5PrintSupport
|
||||
endif
|
||||
else # Qt4
|
||||
ifndef QTLIBS
|
||||
QTLIBS := -L$(QTLIBPATH) -lQtCore -lQtGui
|
||||
endif
|
||||
ifndef GLQTLIBS
|
||||
GLQTLIBS := -L$(QTLIBPATH) -lQtCore -lQtGui -lQtOpenGL
|
||||
endif
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
define build-granular-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
cd $(G4TMPDIR); \
|
||||
$(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) $(INTYLIBS) *.o
|
||||
endef
|
||||
define build-global-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
cd $(G4TMP)/$(G4SYSTEM); \
|
||||
$(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) $(INTYLIBS) \
|
||||
$(foreach dir,$(SUBLIBS),$(dir)/*.o);
|
||||
endef
|
||||
|
||||
endif
|
||||
+9
-14
@@ -1,21 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
# Category envs History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
Super-Category History file
|
||||
---------------------------
|
||||
|
||||
This file should be used by G4 developers and category coordinators
|
||||
to briefly summarize all major modifications introduced in the code
|
||||
at this level and keep track of all relavant tags.
|
||||
It DOES NOT substitute the CVS log-message one should put at every
|
||||
committal in the CVS repository !
|
||||
## 2021-12-10 Ben Morgan (envs-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
envs-V10-07-00/ Sep. 25, 2020 B.Morgan
|
||||
- Remove MOMO
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
# Category geant4py History
|
||||
|
||||
Geant4Py History file
|
||||
---------------------
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
Geant4Py is a Geant4-Python bridge.
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
## 2021-12-10 Ben Morgan (geant4py-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
2 Nov. 2021 B.Morgan (geant4py-V10-07-05)
|
||||
- Apply GitHub PR #31 from andriish
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
# Category g4py-examples History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
|
||||
A set of examples for Geant4Py.
|
||||
## 2021-12-10 Ben Morgan (g4py-examples-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
12 November 2007 K.Murakami
|
||||
- add GDML I/O examples
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
# Category g4py-examples-education History
|
||||
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
|
||||
## 2021-12-10 Ben Morgan (g4py-examples-education-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
27 Sep. 2006 Hajime Yoshida
|
||||
- Lesson1.py as before
|
||||
- Lesson1withN03.py with the physics list of N03
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
# Category g4py-tests History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
|
||||
A set of tests for python wrapping of C++ elements.
|
||||
## 2021-12-10 Ben Morgan (g4py-tests-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
Nov.30, 2008 K.Murakami
|
||||
- gtest01-07: modified with g4py namespace
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
# Category zmq History
|
||||
|
||||
G4ZMQ History file
|
||||
---------------------
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
ZeroMQ Interface for Geant4
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
## 2021-12-10 Ben Morgan (zmq-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
25 Oct. 2021 B. Morgan - zmq-V10-07-00
|
||||
- Use G4StrUtil functions replacing deprecated G4String member functions
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
# Example Doxygen History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
|
||||
Configuration files for Examples Doxygen documentation
|
||||
----------------------------------------------------------
|
||||
## 2021-12-10 Ben Morgan (doxygen-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
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 *
|
||||
----------------------------------------------------------
|
||||
# History entries prior to 11.0
|
||||
|
||||
06/12/20 I.Hrivnacova (doxygen-V10-07-02)
|
||||
- Added new extended example RE07 in documentation
|
||||
|
||||
+52
-14
@@ -1,20 +1,58 @@
|
||||
-------------------------------------------------------------------
|
||||
# Example examples History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top).
|
||||
It must **not** be used as a substitute for writing good git commit messages!
|
||||
|
||||
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 *
|
||||
----------------------------------------------------------
|
||||
## 2022-06-30 Gabriele Cosmo (examples-V11-00-06)
|
||||
- Updated reference outputs according to reference tag geant4-11-00-ref-06.
|
||||
- Includes tags: brachy-V11-00-01, ICRP110Phantoms-V11-00-01,
|
||||
iort_therapy-V11-00-01, STCyclotron-V11-00-01,
|
||||
exHadronic-V11-00-01, exhadrParticleFluence-V11-00-00,
|
||||
chem6-V11-00-06, microyz-V11-00-02, molecularDNA-V11-00-05.
|
||||
|
||||
## 2022-05-31 Gabriele Cosmo (examples-V11-00-05)
|
||||
- Updated reference outputs according to reference tag geant4-11-00-ref-05.
|
||||
- Includes tags: ChargeExchangeMC-V11-00-01, eRosita-V11-00-02,
|
||||
exampleB2-V11-00-01, testem9-V11-00-01, HepMCEx01-V11-00-01,
|
||||
chem4-V11-00-04, chem5-V11-00-01, chem6-V11-00-05,
|
||||
microyz-V11-00-01, molecularDNA-V11-00-04, scavenger-V11-00-01,
|
||||
OpNovice2-V11-00-02, MPI-V11-00-02.
|
||||
|
||||
## 2022-04-30 Gabriele Cosmo (examples-V11-00-04)
|
||||
- Updated reference outputs according to reference tag geant4-11-00-ref-04.
|
||||
- Includes tags: testem5-V11-00-01, monopole-V11-00-02, rdecay01-V11-00-01,
|
||||
VecGeomNavigation-V11-00-02, NeutronSource-V11-00-01,
|
||||
exhadr03-V11-00-01, exhadr05-V11-00-02, exhadr06-V11-00-01,
|
||||
exhadr07-V11-00-01, molecularDNA-V11-00-03, OpNovice2-V11-00-01,
|
||||
activation-V11-00-01.
|
||||
|
||||
## 2022-03-31 Gabriele Cosmo (examples-V11-00-03)
|
||||
- Updated reference outputs according to reference tag geant4-11-00-ref-03.
|
||||
- Includes tags: CaTS-V11-00-01, microbeam-V11-00-01, exampleB3-V11-00-01,
|
||||
VecGeomNavigation-V11-00-01, dnaphysics-V11-00-01,
|
||||
chem4-V11-00-03, chem6-V11-00-04, molecularDNA-V11-00-02,
|
||||
spower-V11-00-01, MPI-V11-00-01, expar04-V11-00-02.
|
||||
|
||||
## 2022-02-28 Gabriele Cosmo (examples-V11-00-02)
|
||||
- Updated reference outputs according to reference tag geant4-11-00-ref-02.
|
||||
- Includes tags: air_shower-V11-00-01, ccal-V11-00-01, eRosita-V11-00-01,
|
||||
XRayFluo-V11-00-01, testem6-V11-00-01, testem15-V11-00-02,
|
||||
exdna-V11-00-01, chem6-V11-00-01, molecularDNA-V11-00-01.
|
||||
|
||||
## 2022-01-31 Gabriele Cosmo (examples-V11-00-01)
|
||||
- Updated reference outputs according to reference tag geant4-11-00-ref-01.
|
||||
- Includes tags: amsEcal-V11-00-01, hadrontherapy-V11-00-01, testem3-V11-00-01,
|
||||
testem15-V11-00-01, particleGunExample-V11-00-01,
|
||||
monopole-V11-00-01, exhadr05-V11-00-01, fano-V11-00-01,
|
||||
fano2-V11-00-01, OpNovice-V11-00-01, expar04-V11-00-01.
|
||||
- Changed to new Markdown History format (B.Morgan).
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
6th December 2021 Gabriele Cosmo (examples-V11-00-00)
|
||||
- Updated reference outputs according to reference tag geant4-11-00-ref-00.
|
||||
|
||||
@@ -0,0 +1,908 @@
|
||||
|
||||
---------------------------------------------------------------------
|
||||
* |\___/| *
|
||||
* ) ( *
|
||||
* =\ /= *
|
||||
* )===( Welcome to: *
|
||||
* / \ CaTS: Calorimeter and Tracker Simulation *
|
||||
* | | a flexible and extend-able framework *
|
||||
* / \ for the simulation of various detector *
|
||||
* \ / systems *
|
||||
* \__ _/ https://github.com/hanswenzel/CaTS *
|
||||
* ( ( *
|
||||
* ) ) Version: CaTS_1_0 *
|
||||
* (_( Date: (14-October-2021) *
|
||||
---------------------------------------------------------------------
|
||||
|
||||
Warning! no physics configuration specified!
|
||||
Using default FTFP_BERT+OPTICAL+STEPLIMIT
|
||||
Usage: CaTS -pl physicsconfiguration
|
||||
|
||||
G4PhysListRegistry::GetModularPhysicsList <FTFP_BERT+OPTICAL+STEPLIMIT>, as "FTFP_BERT" with extensions "+OPTICAL+STEPLIMIT"
|
||||
<<< Geant4 Physics List simulation engine: FTFP_BERT
|
||||
|
||||
<<< RegisterPhysics with G4OpticalPhysics "OPTICAL"
|
||||
<<< RegisterPhysics with G4StepLimiterPhysics "STEPLIMIT"
|
||||
<<< Reference Physics List FTFP_BERT+OPTICAL+STEPLIMIT is built
|
||||
|
||||
Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Forcing G4RunManager type...
|
||||
|
||||
############################################
|
||||
!!! WARNING - FPE detection is activated !!!
|
||||
############################################
|
||||
|
||||
|
||||
################################
|
||||
!!! G4Backtrace is activated !!!
|
||||
################################
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
: NIM A 835 (2016), 186-225
|
||||
WWW : http://geant4.org/
|
||||
**************************************************************
|
||||
|
||||
RootIO:: Opening File: Hits.root
|
||||
G4GDML: Reading '/geant4/examples/advanced/CaTS/gdml/simpleLArTPC.gdml'...
|
||||
G4GDML: Reading definitions...
|
||||
G4GDML: Reading materials...
|
||||
G4GDML: Reading solids...
|
||||
G4GDML: Reading structure...
|
||||
Treating unknown GDML tag in volume 'colorref' as GDML extension...
|
||||
Treating unknown GDML tag in volume 'colorref' as GDML extension...
|
||||
G4GDML: Reading setup...
|
||||
G4GDML: Reading '/geant4/examples/advanced/CaTS/gdml/simpleLArTPC.gdml' done!
|
||||
Stripping off GDML names of materials, solids and volumes ...
|
||||
(0,0,0)
|
||||
|
||||
1 PhotonSD name: Det_Photondetector collection Name: Det_Photondetector_HC
|
||||
|
||||
hInelastic FTFP_BERT : threshold between BERT and FTFP is over the interval
|
||||
for pions : 3 to 6 GeV
|
||||
for kaons : 3 to 6 GeV
|
||||
for proton : 3 to 6 GeV
|
||||
for neutron : 3 to 6 GeV
|
||||
|
||||
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
|
||||
G4OpticalPhysics:: Add Optical Physics Processes
|
||||
### Birks coefficients used in run time
|
||||
### Optical physics constructed.
|
||||
=======================================================================
|
||||
====== Electromagnetic Physics Parameters ========
|
||||
=======================================================================
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 1
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
X-section factor for integral approach 0.8
|
||||
Min kinetic energy for tables 100 eV
|
||||
Max kinetic energy for tables 100 TeV
|
||||
Number of bins per decade of a table 7
|
||||
Verbose level 1
|
||||
Verbose level for worker thread 0
|
||||
Bremsstrahlung energy threshold above which
|
||||
primary e+- is added to the list of secondary 100 TeV
|
||||
Bremsstrahlung energy threshold above which primary
|
||||
muon/hadron is added to the list of secondary 100 TeV
|
||||
Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
Step function for e+- (0.2, 1 mm)
|
||||
Step function for muons/hadrons (0.2, 0.1 mm)
|
||||
Step function for light ions (0.2, 0.1 mm)
|
||||
Step function for general ions (0.2, 0.1 mm)
|
||||
Lowest e+e- kinetic energy 1 keV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Use ICRU90 data 0
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Type of fluctuation model 2
|
||||
Use built-in Birks satuaration 1
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
Enable angular generator interface 0
|
||||
Max kinetic energy for CSDA tables 1 GeV
|
||||
Max kinetic energy for NIEL computation 0 eV
|
||||
Linear loss limit 0.01
|
||||
Read data from file for e+e- pair production by mu 0
|
||||
=======================================================================
|
||||
====== Multiple Scattering Parameters ========
|
||||
=======================================================================
|
||||
Type of msc step limit algorithm for e+- 1
|
||||
Type of msc step limit algorithm for muons/hadrons 0
|
||||
Msc lateral displacement for e+- enabled 1
|
||||
Msc lateral displacement for muons and hadrons 0
|
||||
Urban msc model lateral displacement alg96 1
|
||||
Range factor for msc step limit for e+- 0.04
|
||||
Range factor for msc step limit for muons/hadrons 0.2
|
||||
Geometry factor for msc step limitation of e+- 2.5
|
||||
Safety factor for msc step limit for e+- 0.6
|
||||
Skin parameter for msc step limitation of e+- 1
|
||||
Lambda limit for msc step limit for e+- 1 mm
|
||||
Use Mott correction for e- scattering 0
|
||||
Factor used for dynamic computation of angular
|
||||
limit between single and multiple scattering 1
|
||||
Fixed angular limit between single
|
||||
and multiple scattering 3.1416 rad
|
||||
Upper energy limit for e+- multiple scattering 100 MeV
|
||||
Type of electron single scattering model 0
|
||||
Type of nuclear form-factor 1
|
||||
Screening factor 1
|
||||
=======================================================================
|
||||
|
||||
phot: for gamma SubType=12 BuildTable=0
|
||||
LambdaPrime table from 200 keV to 100 TeV in 61 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
LivermorePhElectric : Emin= 0 eV Emax= 100 TeV SauterGavrila Fluo
|
||||
|
||||
compt: for gamma SubType=13 BuildTable=1
|
||||
Lambda table from 100 eV to 1 MeV, 7 bins/decade, spline: 1
|
||||
LambdaPrime table from 1 MeV to 100 TeV in 56 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Klein-Nishina : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
conv: for gamma SubType=14 BuildTable=1
|
||||
Lambda table from 1.022 MeV to 100 TeV, 18 bins/decade, spline: 1
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BetheHeitlerLPM : Emin= 0 eV Emax= 100 TeV ModifiedTsai
|
||||
|
||||
Rayl: for gamma SubType=11 BuildTable=1
|
||||
Lambda table from 100 eV to 100 keV, 7 bins/decade, spline: 0
|
||||
LambdaPrime table from 100 keV to 100 TeV in 63 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
LivermoreRayleigh : Emin= 0 eV Emax= 100 TeV CullenGenerator
|
||||
|
||||
msc: for e- SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
eBrem: for e- XStype:4 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai
|
||||
eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai
|
||||
|
||||
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
|
||||
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
|
||||
|
||||
msc: for e+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
eBrem: for e+ XStype:4 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai
|
||||
eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai
|
||||
|
||||
annihil: for e+ XStype:2 SubType=5 BuildTable=0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eplus2gg : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
|
||||
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
|
||||
|
||||
msc: for proton SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
|
||||
hBrems: for proton XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for proton XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for GenericIon SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for GenericIon XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 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
|
||||
|
||||
msc: for alpha SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for alpha XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax=7.9452 MeV
|
||||
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV
|
||||
|
||||
msc: for anti_proton SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
|
||||
hBrems: for anti_proton XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for anti_proton XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for kaon+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
|
||||
hBrems: for kaon+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for kaon+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for kaon- SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
|
||||
hBrems: for kaon- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for kaon- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
|
||||
Used Lambda table of kaon+
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for mu+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 200 keV
|
||||
MuBetheBloch : Emin= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
muPairProd: for mu+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for mu- SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 200 keV
|
||||
MuBetheBloch : Emin= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
muPairProd: for mu- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
|
||||
Used Lambda table of mu+
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for pi+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
|
||||
hBrems: for pi+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for pi+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for pi- SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
|
||||
hBrems: for pi- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for pi- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Used Lambda table of pi+
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
====================================================================
|
||||
HADRONIC PROCESSES SUMMARY (verbose level 1)
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for neutron
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticCHIPS: 0 eV ---> 100 TeV
|
||||
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: neutronInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: nCapture
|
||||
Model: nRadCapture: 0 eV ---> 100 TeV
|
||||
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: nKiller
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for B-
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: B-Inelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for D-
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: D-Inelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for GenericIon
|
||||
|
||||
Process: ionInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for He3
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: He3Inelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for alpha
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: alphaInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_He3
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_He3Inelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_alpha
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_alphaInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_deuteron
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_deuteronInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_lambda
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: anti_lambdaInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_neutron
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
|
||||
Model: AntiAElastic: 100 MeV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_neutronInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_proton
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
|
||||
Model: AntiAElastic: 100 MeV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_protonInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_triton
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_tritonInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for deuteron
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: dInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for e+
|
||||
|
||||
Process: positronNuclear
|
||||
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for e-
|
||||
|
||||
Process: electronNuclear
|
||||
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for gamma
|
||||
|
||||
Process: photonNuclear
|
||||
Model: GammaNPreco: 0 eV ---> 200 MeV
|
||||
Model: BertiniCascade: 199 MeV ---> 6 GeV
|
||||
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
|
||||
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for kaon+
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: kaon+Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for kaon-
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: kaon-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for lambda
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: lambdaInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for mu+
|
||||
|
||||
Process: muonNuclear
|
||||
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for mu-
|
||||
|
||||
Process: muonNuclear
|
||||
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: muMinusCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for pi+
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticGlauber: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: pi+Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for pi-
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticGlauber: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: pi-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for proton
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticCHIPS: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: protonInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for sigma-
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: sigma-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for triton
|
||||
|
||||
Process: hadElastic
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: tInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
================================================================
|
||||
=======================================================================
|
||||
====== Pre-compound/De-excitation Physics Parameters ========
|
||||
=======================================================================
|
||||
Type of pre-compound inverse x-section 3
|
||||
Pre-compound model active 1
|
||||
Pre-compound excitation low energy 100 keV
|
||||
Pre-compound excitation high energy 30 MeV
|
||||
Type of de-excitation inverse x-section 3
|
||||
Type of de-excitation factory Evaporation+GEM
|
||||
Number of de-excitation channels 68
|
||||
Min excitation energy 10 eV
|
||||
Min energy per nucleon for multifragmentation 200 GeV
|
||||
Limit excitation energy for Fermi BreakUp 20 MeV
|
||||
Level density (1/MeV) 0.075
|
||||
Use simple level density model 1
|
||||
Use discrete excitation energy of the residual 1
|
||||
Time limit for long lived isomeres 1 ns
|
||||
Isomer production flag 1
|
||||
Internal e- conversion flag 1
|
||||
Store e- internal conversion data 0
|
||||
Correlated gamma emission flag 0
|
||||
Max 2J for sampling of angular correlations 10
|
||||
=======================================================================
|
||||
writing Event: 0
|
||||
TimeTotal> 6.953 2.960
|
||||
@@ -1,16 +1,22 @@
|
||||
-------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
# Example CaTS History
|
||||
|
||||
=========================================================
|
||||
Geant4 - CaTS example
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top).
|
||||
It must **not** be used as a substitute for writing good git commit messages!
|
||||
|
||||
Package History file
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
26 March 2022 - tag CaTS-V10-07-02 - G. Cosmo
|
||||
## 2022-03-26 Gabriele Cosmo (CaTS-V11-00-01)
|
||||
- Fixed compilation warnings for unused arguments.
|
||||
|
||||
19 November 2021 - tag CaTS-V10-07-01 - I. Hrivnacova
|
||||
## 2021-12-10 Ben Morgan (CaTS-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
19 Novemebr 2021 - tag CaTS-V10-07-01 - I. Hrivnacova
|
||||
- Fixed PrimaryGeneratorAction destructor
|
||||
|
||||
22 October 2021 - tag CaTS-V10-07-00 - H. Wenzel
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,19 @@
|
||||
-------------------------------------------------------------------------------
|
||||
History File, 2010/11/18 G.A.P. Cirrone, Created
|
||||
cirrone@lns.infn.it
|
||||
-------------------------------------------------------------------------------
|
||||
# Example ChargeExchangeMC History
|
||||
|
||||
====================================================
|
||||
History file of the ChargeExchangeMC application
|
||||
====================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
|
||||
## 2022-05-20 Vladimir Ivanchenko (ChargeExchangeMC-V11-00-01)
|
||||
- CexmcHadronicProcess - disable integral method not applicable to this test
|
||||
|
||||
## 2021-12-10 Ben Morgan (ChargeExchangeMC-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
25.10.2021 - B. Morgan (ChargeExchangeMC-V10-07-01)
|
||||
Use G4StrUtil functions replacing deprecated G4String member functions
|
||||
|
||||
@@ -60,6 +60,7 @@ CexmcHadronicProcess::CexmcHadronicProcess( const G4String & name ) :
|
||||
theTotalResult( NULL ), isInitialized( false )
|
||||
{
|
||||
theTotalResult = new G4ParticleChange();
|
||||
SetIntegral(false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
# Example HGCal_testbeam History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
Example HGCal_testbeam 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 *
|
||||
----------------------------------------------------------
|
||||
## 2021-12-10 Ben Morgan (exhgcaltb-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
14-November-2021 G. Cosmo (exhgcaltb-V10-07-05)
|
||||
- Fixed compilation warning for unused private member in PrimaryGeneratorAction.
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -1635,7 +1635,8 @@ Checking overlaps for volume Fe_absorber_AHCAL:42 (G4Box) ... OK!
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use general process 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 1
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
X-section factor for integral approach 0.8
|
||||
@@ -1652,7 +1653,7 @@ Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
@@ -1662,8 +1663,9 @@ Step function for light ions (0.2, 0.1 mm)
|
||||
Step function for general ions (0.2, 0.1 mm)
|
||||
Lowest e+e- kinetic energy 1 keV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 0
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Type of fluctuation model 2
|
||||
Use built-in Birks satuaration 0
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
@@ -1726,10 +1728,10 @@ msc: for e- SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e- XStype:1 SubType=2
|
||||
eIoni: for e- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
@@ -1754,10 +1756,10 @@ msc: for e+ SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e+ XStype:1 SubType=2
|
||||
eIoni: for e+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
@@ -1784,10 +1786,10 @@ msc: for proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:1 SubType=2
|
||||
hIoni: for proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
@@ -1816,10 +1818,10 @@ msc: for GenericIon SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for GenericIon XStype:1 SubType=2
|
||||
ionIoni: for GenericIon XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
Stopping Power data for 17 ion/material pairs
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax= 2 MeV
|
||||
@@ -1830,10 +1832,10 @@ msc: for alpha SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for alpha XStype:1 SubType=2
|
||||
ionIoni: for alpha XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax=7.9452 MeV
|
||||
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV
|
||||
@@ -1843,10 +1845,10 @@ msc: for anti_proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:1 SubType=2
|
||||
hIoni: for anti_proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
@@ -1875,10 +1877,10 @@ msc: for kaon+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon+ XStype:1 SubType=2
|
||||
hIoni: for kaon+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
@@ -1907,10 +1909,10 @@ msc: for kaon- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon- XStype:1 SubType=2
|
||||
hIoni: for kaon- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
@@ -1939,14 +1941,13 @@ msc: for mu+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu+ XStype:1 SubType=2
|
||||
muIoni: for mu+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 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= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
@@ -1957,7 +1958,7 @@ muBrems: for mu+ XStype:1 SubType=3
|
||||
muPairProd: for mu+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -1972,14 +1973,13 @@ msc: for mu- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu- XStype:1 SubType=2
|
||||
muIoni: for mu- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 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= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
@@ -1990,7 +1990,7 @@ muBrems: for mu- XStype:1 SubType=3
|
||||
muPairProd: for mu- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -2005,10 +2005,10 @@ msc: for pi+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi+ XStype:1 SubType=2
|
||||
hIoni: for pi+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
@@ -2037,10 +2037,10 @@ msc: for pi- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi- XStype:1 SubType=2
|
||||
hIoni: for pi- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
@@ -2074,15 +2074,18 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticCHIPS: 0 eV ---> 100 TeV
|
||||
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: neutronInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: nCapture
|
||||
Model: nRadCapture: 0 eV ---> 100 TeV
|
||||
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: nKiller
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2092,10 +2095,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: B-Inelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for D-
|
||||
|
||||
@@ -2103,10 +2108,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: D-Inelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for GenericIon
|
||||
|
||||
@@ -2115,6 +2122,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for He3
|
||||
|
||||
@@ -2122,11 +2130,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: He3Inelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for alpha
|
||||
|
||||
@@ -2134,11 +2144,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: alphaInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_He3
|
||||
|
||||
@@ -2147,10 +2159,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_He3Inelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2161,10 +2175,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_alphaInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2175,10 +2191,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_deuteronInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2188,10 +2206,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: anti_lambdaInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2202,10 +2222,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_neutronInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2216,10 +2238,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_protonInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2230,10 +2254,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_tritonInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2243,11 +2269,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: dInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for e+
|
||||
|
||||
@@ -2255,6 +2283,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for e-
|
||||
|
||||
@@ -2262,6 +2291,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for gamma
|
||||
|
||||
@@ -2271,6 +2301,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
|
||||
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for kaon+
|
||||
|
||||
@@ -2278,11 +2309,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: kaon+Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for kaon-
|
||||
|
||||
@@ -2290,11 +2323,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: kaon-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2304,11 +2339,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: lambdaInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for mu+
|
||||
|
||||
@@ -2316,6 +2353,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for mu-
|
||||
|
||||
@@ -2323,6 +2361,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: muMinusCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2332,11 +2371,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticGlauber: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: pi+Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for pi-
|
||||
|
||||
@@ -2344,11 +2385,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticGlauber: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: pi-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2358,11 +2401,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticCHIPS: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: protonInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for sigma-
|
||||
|
||||
@@ -2370,11 +2415,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: sigma-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -2384,29 +2431,31 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: tInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
================================================================
|
||||
=======================================================================
|
||||
====== Pre-compound/De-excitation Physics Parameters ========
|
||||
=======================================================================
|
||||
Type of pre-compound inverse x-section 3
|
||||
Pre-compound model active 1
|
||||
Pre-compound excitation low energy (MeV) 0.1
|
||||
Pre-compound excitation high energy (MeV) 30
|
||||
Pre-compound excitation low energy 100 keV
|
||||
Pre-compound excitation high energy 30 MeV
|
||||
Type of de-excitation inverse x-section 3
|
||||
Type of de-excitation factory Evaporation+GEM
|
||||
Number of de-excitation channels 68
|
||||
Min excitation energy (keV) 0.01
|
||||
Min energy per nucleon for multifragmentation (MeV) 2e+05
|
||||
Limit excitation energy for Fermi BreakUp (MeV) 20
|
||||
Min excitation energy 10 eV
|
||||
Min energy per nucleon for multifragmentation 200 GeV
|
||||
Limit excitation energy for Fermi BreakUp 20 MeV
|
||||
Level density (1/MeV) 0.075
|
||||
Use simple level density model 1
|
||||
Use discrete excitation energy of the residual 0
|
||||
Time limit for long lived isomeres (ns) 1
|
||||
Use discrete excitation energy of the residual 1
|
||||
Time limit for long lived isomeres 1 ns
|
||||
Isomer production flag 1
|
||||
Internal e- conversion flag 1
|
||||
Store e- internal conversion data 0
|
||||
|
||||
@@ -1,12 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
# Example ICRP110_HumanPhantoms History
|
||||
|
||||
=========================================================
|
||||
Geant4 - ICRP110Phantoms example
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
## 2022-06-02 Susanna Guatelli (ICRP110Phantoms-V11-00-01)
|
||||
- Error reading the first voxels (in x=0, y=0) corrected
|
||||
- Migration to features of C++11/14/17
|
||||
|
||||
## 2021-12-10 Ben Morgan (ICRP110Phantoms-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
07.10.2021 - I. Hrivnacova; ICRP110Phantoms-V10-07-07
|
||||
Removed unused ICRP110PhantomAnalysisManager.hh.
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -41,6 +41,10 @@ Registered graphics systems are:
|
||||
OpenGLImmediateX (OGLIX, OGLIQt_FALLBACK, OGLIXm_FALLBACK)
|
||||
OpenGLStoredX (OGLSX, OGLSQt_FALLBACK, OGLSXm_FALLBACK)
|
||||
RayTracerX (RayTracerX)
|
||||
Qt3D (Qt3D)
|
||||
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
|
||||
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
|
||||
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
|
||||
|
||||
Registering model factories...
|
||||
|
||||
@@ -120,12 +124,12 @@ Number of X,Y,Z voxels = 254, 127, 30
|
||||
placing voxel container volume at (0,0,0)
|
||||
Phantom Material Colours set via ColourMap.dat data file
|
||||
--- G4CoupledTransportation is used
|
||||
/cvmfs/geant4.cern.ch/share/data/G4NDL4.6
|
||||
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic
|
||||
@@@ G4ParticleHPInelasticData instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.6
|
||||
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic/CrossSection/6_nat_Carbon
|
||||
/cvmfs/geant4.cern.ch/share/data/G4NDL4.7
|
||||
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Inelastic
|
||||
@@@ G4ParticleHPInelasticData instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.7
|
||||
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Capture/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Elastic/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Inelastic/CrossSection/6_nat_Carbon
|
||||
/tracking/verbose 0
|
||||
/run/verbose 0
|
||||
/event/verbose 0
|
||||
@@ -159,7 +163,8 @@ G4ScoringBox : PhantomMesh --- Shape: Box mesh
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use general process 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 1
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
X-section factor for integral approach 0.8
|
||||
@@ -176,7 +181,7 @@ Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
@@ -186,8 +191,9 @@ Step function for light ions (0.1, 0.02 mm)
|
||||
Step function for general ions (0.1, 0.001 mm)
|
||||
Lowest e+e- kinetic energy 100 eV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 1
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Type of fluctuation model 2
|
||||
Use built-in Birks satuaration 0
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
@@ -267,12 +273,12 @@ msc: for e- SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV
|
||||
StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
eIoni: for e- XStype:1 SubType=2
|
||||
eIoni: for e- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.01 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.01 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
LowEnergyIoni : Emin= 0 eV Emax= 100 keV deltaVI
|
||||
PenIoni : Emin= 0 eV Emax= 100 keV
|
||||
MollerBhabha : Emin= 100 keV Emax= 100 TeV deltaVI
|
||||
|
||||
eBrem: for e- XStype:4 SubType=3
|
||||
@@ -303,10 +309,10 @@ msc: for e+ SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV
|
||||
StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
eIoni: for e+ XStype:1 SubType=2
|
||||
eIoni: for e+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.01 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.01 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
PenIoni : Emin= 0 eV Emax= 100 keV
|
||||
MollerBhabha : Emin= 100 keV Emax= 100 TeV deltaVI
|
||||
@@ -341,10 +347,10 @@ msc: for proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:1 SubType=2
|
||||
hIoni: for proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV deltaVI
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV deltaVI
|
||||
@@ -377,12 +383,12 @@ msc: for GenericIon SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
ionIoni: for GenericIon XStype:1 SubType=2
|
||||
ionIoni: for GenericIon XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.02 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.1, 0.02 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ParamICRU73 : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
LindhardSorensen : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
|
||||
nuclearStopping: for GenericIon SubType=8 BuildTable=0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
@@ -390,7 +396,8 @@ nuclearStopping: for GenericIon SubType=8 BuildTable=0
|
||||
======================================================================
|
||||
====== Radioactive Decay Physics Parameters =======
|
||||
======================================================================
|
||||
Max life time 1.4427e+06 ps
|
||||
min MeanLife (from G4NuclideTable) 1.4427 us
|
||||
Max life time (from G4DeexPrecoParameters) 1.4427 us
|
||||
Internal e- conversion flag 1
|
||||
Stored internal conversion coefficients 1
|
||||
Enable correlated gamma emission 0
|
||||
@@ -400,7 +407,7 @@ Auger electron emission enabled 1
|
||||
Check EM cuts disabled for atomic de-excitation 1
|
||||
Use Bearden atomic level energies 0
|
||||
Use ANSTO fluorescence model 0
|
||||
Threshold for very long decay time at rest 1e+27 ns
|
||||
Threshold for very long decay time at rest 3.171e+10 y
|
||||
======================================================================
|
||||
|
||||
msc: for alpha SubType= 10
|
||||
@@ -408,10 +415,10 @@ msc: for alpha SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
ionIoni: for alpha XStype:1 SubType=2
|
||||
ionIoni: for alpha XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.02 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.1, 0.02 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax=7.9452 MeV deltaVI
|
||||
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV deltaVI
|
||||
@@ -425,10 +432,10 @@ msc: for anti_proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:1 SubType=2
|
||||
hIoni: for anti_proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV deltaVI
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV deltaVI
|
||||
@@ -457,10 +464,10 @@ msc: for kaon+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for kaon+ XStype:1 SubType=2
|
||||
hIoni: for kaon+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=1.05231 MeV deltaVI
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV deltaVI
|
||||
@@ -489,10 +496,10 @@ msc: for kaon- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for kaon- XStype:1 SubType=2
|
||||
hIoni: for kaon- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=1.05231 MeV deltaVI
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV deltaVI
|
||||
@@ -521,14 +528,13 @@ msc: for mu+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
muIoni: for mu+ XStype:1 SubType=2
|
||||
muIoni: for mu+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 200 keV deltaVI
|
||||
BetheBloch : Emin= 200 keV Emax= 1 GeV deltaVI
|
||||
MuBetheBloch : Emin= 1 GeV Emax= 100 TeV
|
||||
MuBetheBloch : Emin= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
@@ -539,7 +545,7 @@ muBrems: for mu+ XStype:1 SubType=3
|
||||
muPairProd: for mu+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -554,14 +560,13 @@ msc: for mu- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
muIoni: for mu- XStype:1 SubType=2
|
||||
muIoni: for mu- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 200 keV deltaVI
|
||||
BetheBloch : Emin= 200 keV Emax= 1 GeV deltaVI
|
||||
MuBetheBloch : Emin= 1 GeV Emax= 100 TeV
|
||||
MuBetheBloch : Emin= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
@@ -572,7 +577,7 @@ muBrems: for mu- XStype:1 SubType=3
|
||||
muPairProd: for mu- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -581,10 +586,10 @@ CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Elastic/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Capture/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Elastic/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Inelastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Inelastic/CrossSection/6_nat_Carbon
|
||||
NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Elastic/CrossSection/6_nat_Carbon
|
||||
|
||||
=======================================================
|
||||
====== ParticleHP Physics Parameters ========
|
||||
@@ -598,18 +603,18 @@ NeutronHP: /Elastic file for Z = 6, A = 12 is not found and NeutronHP will use /
|
||||
UseNRESP71Model ? 0
|
||||
=======================================================
|
||||
|
||||
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Inelastic
|
||||
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.6/Capture/CrossSection/6_nat_Carbon
|
||||
@@@ G4ParticleHPInelastic instantiated for particle neutron data directory variable is G4NEUTRONHPDATA pointing to /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Inelastic
|
||||
NeutronHP: /Capture file for Z = 6, A = 12 is not found and NeutronHP will use /cvmfs/geant4.cern.ch/share/data/G4NDL4.7/Capture/CrossSection/6_nat_Carbon
|
||||
|
||||
msc: for pi+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for pi+ XStype:1 SubType=2
|
||||
hIoni: for pi+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=297.505 keV deltaVI
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV deltaVI
|
||||
@@ -638,10 +643,10 @@ msc: for pi- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for pi- XStype:1 SubType=2
|
||||
hIoni: for pi- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=297.505 keV deltaVI
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV deltaVI
|
||||
@@ -675,11 +680,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: NNDiffuseElastic: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: ionInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: RadioactiveDecay
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -689,11 +696,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: He3Inelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for alpha
|
||||
|
||||
@@ -701,11 +710,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: alphaInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_He3
|
||||
|
||||
@@ -714,10 +725,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_He3Inelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -728,10 +741,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_alphaInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -742,10 +757,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_deuteronInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -755,11 +772,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: anti_lambdaInelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 0 eV ---> 25 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -770,10 +789,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_neutronInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -784,10 +805,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_protonInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -798,10 +821,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_tritonInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -811,11 +836,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: dInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for e+
|
||||
|
||||
@@ -823,6 +850,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for e-
|
||||
|
||||
@@ -830,6 +858,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for gamma
|
||||
|
||||
@@ -839,6 +868,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
|
||||
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for kaon+
|
||||
|
||||
@@ -846,12 +876,14 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: kaon+Inelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 3 GeV ---> 25 GeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for kaon-
|
||||
|
||||
@@ -859,12 +891,14 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: kaon-Inelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 3 GeV ---> 25 GeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -874,12 +908,14 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: lambdaInelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 3 GeV ---> 25 GeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for mu+
|
||||
|
||||
@@ -887,6 +923,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for mu-
|
||||
|
||||
@@ -894,6 +931,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: muMinusCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -903,28 +941,36 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticCHIPS: 19.5 MeV ---> 100 TeV
|
||||
Model: NeutronHPElastic: 0 eV ---> 20 MeV
|
||||
Cr_sctns: NeutronHPElasticXS: 0 eV ---> 20 MeV
|
||||
|
||||
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: neutronInelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 3 GeV ---> 25 GeV
|
||||
Model: Binary Cascade: 19.9 MeV ---> 6 GeV
|
||||
Model: NeutronHPInelastic: 0 eV ---> 20 MeV
|
||||
Cr_sctns: NeutronHPInelasticXS: 0 eV ---> 20 MeV
|
||||
|
||||
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: nCapture
|
||||
Model: NeutronHPCapture: 0 eV ---> 20 MeV
|
||||
Model: nRadCapture: 19.9 MeV ---> 100 TeV
|
||||
Cr_sctns: NeutronHPCaptureXS: 0 eV ---> 20 MeV
|
||||
|
||||
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: nFission
|
||||
Model: NeutronHPFission: 0 eV ---> 20 MeV
|
||||
Model: G4LFission: 19.9 MeV ---> 100 TeV
|
||||
Cr_sctns: NeutronHPFissionXS: 0 eV ---> 20 MeV
|
||||
|
||||
Cr_sctns: ZeroXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for pi+
|
||||
|
||||
@@ -932,12 +978,14 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticGlauber: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: pi+Inelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 3 GeV ---> 25 GeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for pi-
|
||||
|
||||
@@ -945,12 +993,14 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticGlauber: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: pi-Inelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 3 GeV ---> 25 GeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -960,12 +1010,14 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticCHIPS: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: protonInelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 3 GeV ---> 25 GeV
|
||||
Model: Binary Cascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for sigma-
|
||||
|
||||
@@ -973,12 +1025,14 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: sigma-Inelastic
|
||||
Model: QGSP: 12 GeV ---> 100 TeV
|
||||
Model: FTFP: 3 GeV ---> 25 GeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -988,29 +1042,31 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: tInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
================================================================
|
||||
=======================================================================
|
||||
====== Pre-compound/De-excitation Physics Parameters ========
|
||||
=======================================================================
|
||||
Type of pre-compound inverse x-section 3
|
||||
Pre-compound model active 1
|
||||
Pre-compound excitation low energy (MeV) 0.1
|
||||
Pre-compound excitation high energy (MeV) 30
|
||||
Pre-compound excitation low energy 100 keV
|
||||
Pre-compound excitation high energy 30 MeV
|
||||
Type of de-excitation inverse x-section 3
|
||||
Type of de-excitation factory Evaporation+GEM
|
||||
Number of de-excitation channels 68
|
||||
Min excitation energy (keV) 0.01
|
||||
Min energy per nucleon for multifragmentation (MeV) 2e+05
|
||||
Limit excitation energy for Fermi BreakUp (MeV) 20
|
||||
Min excitation energy 10 eV
|
||||
Min energy per nucleon for multifragmentation 200 GeV
|
||||
Limit excitation energy for Fermi BreakUp 20 MeV
|
||||
Level density (1/MeV) 0.075
|
||||
Use simple level density model 1
|
||||
Use discrete excitation energy of the residual 0
|
||||
Time limit for long lived isomeres (ns) 1442.7
|
||||
Use discrete excitation energy of the residual 1
|
||||
Time limit for long lived isomeres 1.4427 us
|
||||
Isomer production flag 1
|
||||
Internal e- conversion flag 1
|
||||
Store e- internal conversion data 1
|
||||
@@ -1019,9 +1075,6 @@ Max 2J for sampling of angular correlations 10
|
||||
=======================================================================
|
||||
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
|
||||
See commands in /vis/modeling/trajectories/ for other options.
|
||||
0 events have been kept for refreshing and/or reviewing.
|
||||
"/vis/reviewKeptEvents" to review them one by one.
|
||||
"/vis/enable", then "/vis/viewer/flush" or "/vis/viewer/rebuild" to see them accumulated.
|
||||
/score/dumpQuantityToFile PhantomMesh energyDeposit PhantomMesh_Edep.txt
|
||||
ICRP110UserScorer-defined DumpQuantityToFile() method is invoked.
|
||||
Phantom Sex: male
|
||||
@@ -1066,7 +1119,7 @@ Reading AM_organs.dat
|
||||
Reading OrganMasses.dat
|
||||
NOrganIDs: 142
|
||||
Writing output to ICRP110.out
|
||||
Total energy deposited over all Organs within the Phantom is 1.47555e-09 J
|
||||
Total absorbed dose over all phantom organs is 3.78273e-09 Gy
|
||||
Total energy deposited over all Organs within the Phantom is 1.42028e-09 J
|
||||
Total absorbed dose over all phantom organs is 3.57929e-09 Gy
|
||||
Graphics systems deleted.
|
||||
Visualization Manager deleting...
|
||||
|
||||
@@ -56,7 +56,7 @@ int main(int argc,char** argv)
|
||||
//====================================================================
|
||||
|
||||
// Set mandatory initialization classes
|
||||
ICRP110PhantomConstruction* userPhantom = new ICRP110PhantomConstruction();
|
||||
auto userPhantom = new ICRP110PhantomConstruction();
|
||||
runManager -> SetUserInitialization(userPhantom);
|
||||
|
||||
runManager -> SetUserInitialization(new QGSP_BIC_HP());
|
||||
@@ -68,7 +68,7 @@ int main(int argc,char** argv)
|
||||
("phantom",new ICRP110PhantomVisAction(userPhantom));
|
||||
visManager -> Initialize();
|
||||
|
||||
ICRP110PhantomActionInitialization* actions = new ICRP110PhantomActionInitialization();
|
||||
auto actions = new ICRP110PhantomActionInitialization();
|
||||
runManager -> SetUserInitialization(actions);
|
||||
|
||||
G4UImanager* UImanager = G4UImanager::GetUIpointer();
|
||||
@@ -76,7 +76,7 @@ int main(int argc,char** argv)
|
||||
if (argc==1) // Define UI session for interactive mode.
|
||||
{
|
||||
G4cout << " UI session starts ..." << G4endl;
|
||||
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
|
||||
auto ui = new G4UIExecutive(argc, argv);
|
||||
UImanager -> ApplyCommand("/control/execute vis.mac");
|
||||
ui -> SessionStart();
|
||||
delete ui;
|
||||
|
||||
@@ -2,40 +2,38 @@
|
||||
--------------------------------
|
||||
OrganID Edep (J) Dose (Gy)
|
||||
--------------------------------
|
||||
4 | 1.02882e-12 3.62132e-11
|
||||
26 | 2.6452e-10 4.69965e-10
|
||||
27 | 2.92057e-10 6.4749e-10
|
||||
39 | 8.92997e-13 1.17314e-11
|
||||
40 | 5.15135e-14 6.97071e-13
|
||||
48 | 2.0245e-12 2.75255e-11
|
||||
61 | 5.99142e-10 4.13201e-10
|
||||
106 | 9.34204e-11 7.67118e-11
|
||||
116 | 1.62453e-10 1.54937e-10
|
||||
120 | 1.59033e-11 3.74282e-10
|
||||
121 | 2.3745e-11 5.58838e-10
|
||||
122 | 1.74463e-11 5.98828e-11
|
||||
134 | 2.86328e-12 9.51257e-10
|
||||
26 | 3.45941e-10 6.14624e-10
|
||||
27 | 2.7459e-10 6.08767e-10
|
||||
39 | 2.68101e-14 3.52208e-13
|
||||
47 | 1.88424e-12 1.83078e-11
|
||||
48 | 1.47002e-12 1.99867e-11
|
||||
61 | 5.10152e-10 3.51829e-10
|
||||
106 | 5.5413e-11 4.55022e-11
|
||||
114 | 3.31986e-13 5.5331e-10
|
||||
116 | 1.46924e-10 1.40127e-10
|
||||
120 | 1.65667e-11 3.89897e-10
|
||||
121 | 3.01801e-11 7.10288e-10
|
||||
122 | 3.67953e-11 1.26297e-10
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------ORGAN INFO-----------------------------------
|
||||
-----------------(of organs where edep/dose was recorded)-------------------
|
||||
----------------------------------------------------------------------------
|
||||
ID Organ Name Material ID Density (g/cm^3)
|
||||
4 Posterior nasal passage down to larynx (ET2) 45 1.030
|
||||
26 Cranium, cortical 2 1.920
|
||||
27 Cranium, spongiosa 8 1.157
|
||||
39 Mandible, cortical 2 1.920
|
||||
40 Mandible, spongiosa 13 1.228
|
||||
47 Cervical spine, cortical 2 1.920
|
||||
48 Cervical spine, spongiosa 17 1.050
|
||||
61 Brain 32 1.050
|
||||
106 Muscle, head 29 1.050
|
||||
114 Pituitary gland 45 1.030
|
||||
116 Residual tissue, head 49 0.950
|
||||
120 Salivary glands, left 45 1.030
|
||||
121 Salivary glands, right 45 1.030
|
||||
122 Skin, head 27 1.090
|
||||
134 Tonsils 45 1.030
|
||||
|
||||
Total Edep over all organs = 1.47555e-09 J
|
||||
Total dose absorbed over all organs = 3.78273e-09 Gy
|
||||
Total Edep over all organs = 1.42028e-09 J
|
||||
Total dose absorbed over all organs = 3.57929e-09 Gy
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
----------------ORGAN ENERGY DEPOSITIONS AND ABSORBED DOSE------------------
|
||||
@@ -44,11 +42,11 @@ Total dose absorbed over all organs = 3.78273e-09 Gy
|
||||
----------------------------------------------------------------------------
|
||||
OrganID Edep (J) Dose (Gy)
|
||||
-------------------------------
|
||||
0 | 5.41601e-11 0
|
||||
0 | 4.63708e-11 0
|
||||
1 | 0 0
|
||||
2 | 0 0
|
||||
3 | 0 0
|
||||
4 | 1.02882e-12 3.62132e-11
|
||||
4 | 0 0
|
||||
5 | 0 0
|
||||
6 | 0 0
|
||||
7 | 0 0
|
||||
@@ -70,8 +68,8 @@ OrganID Edep (J) Dose (Gy)
|
||||
23 | 0 0
|
||||
24 | 0 0
|
||||
25 | 0 0
|
||||
26 | 2.6452e-10 4.69965e-10
|
||||
27 | 2.92057e-10 6.4749e-10
|
||||
26 | 3.45941e-10 6.14624e-10
|
||||
27 | 2.7459e-10 6.08767e-10
|
||||
28 | 0 0
|
||||
29 | 0 0
|
||||
30 | 0 0
|
||||
@@ -83,16 +81,16 @@ OrganID Edep (J) Dose (Gy)
|
||||
36 | 0 0
|
||||
37 | 0 0
|
||||
38 | 0 0
|
||||
39 | 8.92997e-13 1.17314e-11
|
||||
40 | 5.15135e-14 6.97071e-13
|
||||
39 | 2.68101e-14 3.52208e-13
|
||||
40 | 0 0
|
||||
41 | 0 0
|
||||
42 | 0 0
|
||||
43 | 0 0
|
||||
44 | 0 0
|
||||
45 | 0 0
|
||||
46 | 0 0
|
||||
47 | 0 0
|
||||
48 | 2.0245e-12 2.75255e-11
|
||||
47 | 1.88424e-12 1.83078e-11
|
||||
48 | 1.47002e-12 1.99867e-11
|
||||
49 | 0 0
|
||||
50 | 0 0
|
||||
51 | 0 0
|
||||
@@ -105,7 +103,7 @@ OrganID Edep (J) Dose (Gy)
|
||||
58 | 0 0
|
||||
59 | 0 0
|
||||
60 | 0 0
|
||||
61 | 5.99142e-10 4.13201e-10
|
||||
61 | 5.10152e-10 3.51829e-10
|
||||
62 | 0 0
|
||||
63 | 0 0
|
||||
64 | 0 0
|
||||
@@ -150,7 +148,7 @@ OrganID Edep (J) Dose (Gy)
|
||||
103 | 0 0
|
||||
104 | 0 0
|
||||
105 | 0 0
|
||||
106 | 9.34204e-11 7.67118e-11
|
||||
106 | 5.5413e-11 4.55022e-11
|
||||
107 | 0 0
|
||||
108 | 0 0
|
||||
109 | 0 0
|
||||
@@ -158,15 +156,15 @@ OrganID Edep (J) Dose (Gy)
|
||||
111 | 0 0
|
||||
112 | 0 0
|
||||
113 | 0 0
|
||||
114 | 0 0
|
||||
114 | 3.31986e-13 5.5331e-10
|
||||
115 | 0 0
|
||||
116 | 1.62453e-10 1.54937e-10
|
||||
116 | 1.46924e-10 1.40127e-10
|
||||
117 | 0 0
|
||||
118 | 0 0
|
||||
119 | 0 0
|
||||
120 | 1.59033e-11 3.74282e-10
|
||||
121 | 2.3745e-11 5.58838e-10
|
||||
122 | 1.74463e-11 5.98828e-11
|
||||
120 | 1.65667e-11 3.89897e-10
|
||||
121 | 3.01801e-11 7.10288e-10
|
||||
122 | 3.67953e-11 1.26297e-10
|
||||
123 | 0 0
|
||||
124 | 0 0
|
||||
125 | 0 0
|
||||
@@ -178,13 +176,13 @@ OrganID Edep (J) Dose (Gy)
|
||||
131 | 0 0
|
||||
132 | 0 0
|
||||
133 | 0 0
|
||||
134 | 2.86328e-12 9.51257e-10
|
||||
134 | 0 0
|
||||
135 | 0 0
|
||||
136 | 0 0
|
||||
137 | 0 0
|
||||
138 | 0 0
|
||||
139 | 0 0
|
||||
140 | 2.06191e-11 1.03095e-07
|
||||
140 | 2.95648e-14 1.47824e-10
|
||||
141 | 0 0
|
||||
Total energy depositied over all organs = 1.47555e-09 J
|
||||
Total absorbed dose over all organs = 3.78273e-09 Gy
|
||||
Total energy depositied over all organs = 1.42028e-09 J
|
||||
Total absorbed dose over all organs = 3.57929e-09 Gy
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ class ICRP110PhantomPrimaryGeneratorAction : public G4VUserPrimaryGeneratorActio
|
||||
~ICRP110PhantomPrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void GeneratePrimaries(G4Event* anEvent) override;
|
||||
void GeneratePrimaries(G4Event* anEvent);
|
||||
|
||||
private:
|
||||
G4GeneralParticleSource* fParticleGun;
|
||||
|
||||
@@ -48,14 +48,19 @@ public:
|
||||
(G4PhysicalVolumeModel* // input...the following are outputs
|
||||
,std::multimap<const G4Material*,G4ThreeVector>& positionByMaterial
|
||||
,std::map <const G4Material*,G4Colour>& colourByMaterial);
|
||||
|
||||
~ICRP110PhantomPseudoScene();
|
||||
|
||||
using G4PseudoScene::AddSolid; // except for...
|
||||
void AddSolid(const G4Box&);
|
||||
void ProcessVolume(const G4VSolid&);
|
||||
|
||||
const std::multimap<const G4Material*,G4ThreeVector>& GetPositionByMaterial()
|
||||
{return fPositionByMaterial;}
|
||||
|
||||
const std::map <const G4Material*,G4Colour>& GetColourByMaterial()
|
||||
{return fColourByMaterial;}
|
||||
|
||||
private:
|
||||
G4PhysicalVolumeModel* fpPVModel;
|
||||
std::multimap<const G4Material*,G4ThreeVector>& fPositionByMaterial;
|
||||
|
||||
@@ -26,10 +26,6 @@
|
||||
// Code developed by:
|
||||
// S.Guatelli, M. Large and A. Malaroda, University of Wollongong
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
#include "ICRP110PhantomConstruction.hh"
|
||||
#include "ICRP110PhantomNestedParameterisation.hh"
|
||||
#include "ICRP110PhantomMaterial_Female.hh"
|
||||
@@ -55,7 +51,7 @@ ICRP110PhantomConstruction::ICRP110PhantomConstruction():
|
||||
fVoxelHalfDimX(0), fVoxelHalfDimY(0), fVoxelHalfDimZ(0),
|
||||
fMinX(0),fMaxX(0), fMinY(0), fMaxY(0),
|
||||
fMinZ(0), fMaxZ(0), fNoFiles(0), fNVoxels(0),
|
||||
fMateIDs(0)
|
||||
fMateIDs(nullptr)
|
||||
{
|
||||
fMessenger = new ICRP110PhantomMessenger(this);
|
||||
// the messenger allows to set the sex of the phantom
|
||||
@@ -81,12 +77,12 @@ G4VPhysicalVolume* ICRP110PhantomConstruction::Construct()
|
||||
G4double d; // density
|
||||
|
||||
A = 14.01*g/mole;
|
||||
G4Element* elN = new G4Element("Nitrogen","N",Z = 7.,A);
|
||||
auto elN = new G4Element("Nitrogen","N",Z = 7.,A);
|
||||
A = 16.00*g/mole;
|
||||
G4Element* elO = new G4Element("Oxygen","O",Z = 8.,A);
|
||||
auto elO = new G4Element("Oxygen","O",Z = 8.,A);
|
||||
|
||||
d = 0.001 *g/cm3;
|
||||
G4Material* matAir = new G4Material("Air",d,2);
|
||||
auto matAir = new G4Material("Air",d,2);
|
||||
matAir -> AddElement(elN,0.8);
|
||||
matAir -> AddElement(elO,0.2);
|
||||
|
||||
@@ -215,14 +211,14 @@ G4VPhysicalVolume* ICRP110PhantomConstruction::Construct()
|
||||
G4double worldSize = 2.*m ;
|
||||
G4Box* world = new G4Box("world", worldSize, worldSize, worldSize);
|
||||
|
||||
G4LogicalVolume* logicWorld = new G4LogicalVolume(world,
|
||||
auto logicWorld = new G4LogicalVolume(world,
|
||||
matAir,
|
||||
"logicalWorld", 0, 0,0);
|
||||
"logicalWorld", nullptr, nullptr,nullptr);
|
||||
|
||||
fMotherVolume = new G4PVPlacement(0,G4ThreeVector(),
|
||||
fMotherVolume = new G4PVPlacement(nullptr,G4ThreeVector(),
|
||||
"physicalWorld",
|
||||
logicWorld,
|
||||
0,
|
||||
nullptr,
|
||||
false,
|
||||
0);
|
||||
|
||||
@@ -241,10 +237,10 @@ G4VPhysicalVolume* ICRP110PhantomConstruction::Construct()
|
||||
fNVoxelY*fVoxelHalfDimY*mm,
|
||||
fNVoxelZ*fVoxelHalfDimZ*mm);
|
||||
|
||||
G4LogicalVolume* fContainer_logic = new G4LogicalVolume( fContainer_solid,
|
||||
auto fContainer_logic = new G4LogicalVolume( fContainer_solid,
|
||||
matAir,
|
||||
"phantomContainer",
|
||||
0, 0, 0 );
|
||||
nullptr, nullptr, nullptr);
|
||||
|
||||
fMaxX = fNVoxelX*fVoxelHalfDimX*mm; // Max X along X axis of the voxelised geometry
|
||||
fMaxY = fNVoxelY*fVoxelHalfDimY*mm; // Max Y
|
||||
@@ -260,7 +256,7 @@ G4VPhysicalVolume* ICRP110PhantomConstruction::Construct()
|
||||
|
||||
|
||||
fPhantomContainer
|
||||
= new G4PVPlacement(0, // rotation
|
||||
= new G4PVPlacement(nullptr, // rotation
|
||||
posCentreVoxels,
|
||||
fContainer_logic, // The logic volume
|
||||
"phantomContainer", // Name
|
||||
@@ -278,7 +274,7 @@ G4VPhysicalVolume* ICRP110PhantomConstruction::Construct()
|
||||
G4String yRepName("RepY");
|
||||
G4VSolid* solYRep = new G4Box(yRepName,fNVoxelX*fVoxelHalfDimX,
|
||||
fVoxelHalfDimY, fNVoxelZ*fVoxelHalfDimZ);
|
||||
G4LogicalVolume* logYRep = new G4LogicalVolume(solYRep,matAir,yRepName);
|
||||
auto logYRep = new G4LogicalVolume(solYRep,matAir,yRepName);
|
||||
new G4PVReplica(yRepName,logYRep,fContainer_logic,kYAxis, fNVoxelY,fVoxelHalfDimY*2.);
|
||||
|
||||
logYRep -> SetVisAttributes(new G4VisAttributes(G4VisAttributes::GetInvisible()));
|
||||
@@ -287,7 +283,7 @@ G4VPhysicalVolume* ICRP110PhantomConstruction::Construct()
|
||||
G4String xRepName("RepX");
|
||||
G4VSolid* solXRep = new G4Box(xRepName,fVoxelHalfDimX,fVoxelHalfDimY,
|
||||
fNVoxelZ*fVoxelHalfDimZ);
|
||||
G4LogicalVolume* logXRep = new G4LogicalVolume(solXRep,matAir,xRepName);
|
||||
auto logXRep = new G4LogicalVolume(solXRep,matAir,xRepName);
|
||||
new G4PVReplica(xRepName,logXRep,logYRep,kXAxis,fNVoxelX,fVoxelHalfDimX*2.);
|
||||
|
||||
logXRep -> SetVisAttributes(new G4VisAttributes(G4VisAttributes::GetInvisible()));
|
||||
@@ -295,14 +291,14 @@ G4VPhysicalVolume* ICRP110PhantomConstruction::Construct()
|
||||
//----- Voxel solid and logical volumes
|
||||
//--- Slice along Z axis
|
||||
G4VSolid* solidVoxel = new G4Box("phantom",fVoxelHalfDimX, fVoxelHalfDimY,fVoxelHalfDimZ);
|
||||
G4LogicalVolume* logicVoxel = new G4LogicalVolume(solidVoxel,matAir,"phantom");
|
||||
auto logicVoxel = new G4LogicalVolume(solidVoxel,matAir,"phantom");
|
||||
|
||||
logicVoxel -> SetVisAttributes(new G4VisAttributes(G4VisAttributes::GetInvisible()));
|
||||
|
||||
// Parameterisation to define the material of each voxel
|
||||
G4ThreeVector halfVoxelSize(fVoxelHalfDimX,fVoxelHalfDimY,fVoxelHalfDimZ);
|
||||
|
||||
ICRP110PhantomNestedParameterisation* param = new ICRP110PhantomNestedParameterisation(halfVoxelSize, pMaterials);
|
||||
auto param = new ICRP110PhantomNestedParameterisation(halfVoxelSize, pMaterials);
|
||||
|
||||
new G4PVParameterised("phantom", // their name
|
||||
logicVoxel, // their logical volume
|
||||
@@ -470,7 +466,7 @@ G4String slice;
|
||||
// Dummy method to skip the first three lines of the files
|
||||
// which are not used here
|
||||
}
|
||||
else{
|
||||
|
||||
G4int nnew = ix + (iy)*fNVoxelX + numberFile*fNVoxelX*fNVoxelY;
|
||||
G4int OrgID;
|
||||
fin >> OrgID;
|
||||
@@ -767,7 +763,7 @@ G4String slice;
|
||||
|
||||
fMateIDs[nnew] = mateID_out;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,43 +68,43 @@ void ICRP110PhantomMaterial_Female::DefineMaterials()
|
||||
// General elements
|
||||
|
||||
A = 1.01*g/mole;
|
||||
G4Element* elH = new G4Element ("Hydrogen","H",Z = 1.,A);
|
||||
auto elH = new G4Element ("Hydrogen","H",Z = 1.,A);
|
||||
|
||||
A = 12.011*g/mole;
|
||||
G4Element* elC = new G4Element("Carbon","C",Z = 6.,A);
|
||||
auto elC = new G4Element("Carbon","C",Z = 6.,A);
|
||||
|
||||
A = 14.01*g/mole;
|
||||
G4Element* elN = new G4Element("Nitrogen","N",Z = 7.,A);
|
||||
auto elN = new G4Element("Nitrogen","N",Z = 7.,A);
|
||||
|
||||
A = 16.00*g/mole;
|
||||
G4Element* elO = new G4Element("Oxygen","O",Z = 8.,A);
|
||||
auto elO = new G4Element("Oxygen","O",Z = 8.,A);
|
||||
|
||||
A = 22.99*g/mole;
|
||||
G4Element* elNa = new G4Element("Sodium","Na",Z = 11.,A);
|
||||
auto elNa = new G4Element("Sodium","Na",Z = 11.,A);
|
||||
|
||||
A = 24.305*g/mole;
|
||||
G4Element* elMg = new G4Element("Magnesium","Mg",Z = 12.,A);
|
||||
auto elMg = new G4Element("Magnesium","Mg",Z = 12.,A);
|
||||
|
||||
A = 30.974*g/mole;
|
||||
G4Element* elP = new G4Element("Phosphorus","P",Z = 15.,A);
|
||||
auto elP = new G4Element("Phosphorus","P",Z = 15.,A);
|
||||
|
||||
A = 32.064*g/mole;
|
||||
G4Element* elS = new G4Element("Sulfur","S",Z = 16.,A);
|
||||
auto elS = new G4Element("Sulfur","S",Z = 16.,A);
|
||||
|
||||
A = 35.453*g/mole;
|
||||
G4Element* elCl = new G4Element("Chlorine","Cl",Z = 17.,A);
|
||||
auto elCl = new G4Element("Chlorine","Cl",Z = 17.,A);
|
||||
|
||||
A = 39.098*g/mole;
|
||||
G4Element* elK = new G4Element("Potassium","K",Z = 19.,A);
|
||||
auto elK = new G4Element("Potassium","K",Z = 19.,A);
|
||||
|
||||
A = 40.08*g/mole;
|
||||
G4Element* elCa = new G4Element("Calcium","Ca",Z = 20.,A);
|
||||
auto elCa = new G4Element("Calcium","Ca",Z = 20.,A);
|
||||
|
||||
A = 55.85*g/mole;
|
||||
G4Element* elFe = new G4Element("Iron","Fe",Z = 26.,A);
|
||||
auto elFe = new G4Element("Iron","Fe",Z = 26.,A);
|
||||
|
||||
A = 126.90447 *g/mole;
|
||||
G4Element*elI = new G4Element("Iodine","I", Z = 53.,A);
|
||||
auto elI = new G4Element("Iodine","I", Z = 53.,A);
|
||||
|
||||
//Added tissues for phantom including their tissue ID
|
||||
//Teeth -> Tissue ID 1
|
||||
|
||||
@@ -67,43 +67,43 @@ void ICRP110PhantomMaterial_Male::DefineMaterials()
|
||||
// General elements
|
||||
|
||||
A = 1.01*g/mole;
|
||||
G4Element* elH = new G4Element ("Hydrogen","H",Z = 1.,A);
|
||||
auto elH = new G4Element ("Hydrogen","H",Z = 1.,A);
|
||||
|
||||
A = 12.011*g/mole;
|
||||
G4Element* elC = new G4Element("Carbon","C",Z = 6.,A);
|
||||
auto elC = new G4Element("Carbon","C",Z = 6.,A);
|
||||
|
||||
A = 14.01*g/mole;
|
||||
G4Element* elN = new G4Element("Nitrogen","N",Z = 7.,A);
|
||||
auto elN = new G4Element("Nitrogen","N",Z = 7.,A);
|
||||
|
||||
A = 16.00*g/mole;
|
||||
G4Element* elO = new G4Element("Oxygen","O",Z = 8.,A);
|
||||
auto elO = new G4Element("Oxygen","O",Z = 8.,A);
|
||||
|
||||
A = 22.99*g/mole;
|
||||
G4Element* elNa = new G4Element("Sodium","Na",Z = 11.,A);
|
||||
auto elNa = new G4Element("Sodium","Na",Z = 11.,A);
|
||||
|
||||
A = 24.305*g/mole;
|
||||
G4Element* elMg = new G4Element("Magnesium","Mg",Z = 12.,A);
|
||||
auto elMg = new G4Element("Magnesium","Mg",Z = 12.,A);
|
||||
|
||||
A = 30.974*g/mole;
|
||||
G4Element* elP = new G4Element("Phosphorus","P",Z = 15.,A);
|
||||
auto elP = new G4Element("Phosphorus","P",Z = 15.,A);
|
||||
|
||||
A = 32.064*g/mole;
|
||||
G4Element* elS = new G4Element("Sulfur","S",Z = 16.,A);
|
||||
auto elS = new G4Element("Sulfur","S",Z = 16.,A);
|
||||
|
||||
A = 35.453*g/mole;
|
||||
G4Element* elCl = new G4Element("Chlorine","Cl",Z = 17.,A);
|
||||
auto elCl = new G4Element("Chlorine","Cl",Z = 17.,A);
|
||||
|
||||
A = 39.098*g/mole;
|
||||
G4Element* elK = new G4Element("Potassium","K",Z = 19.,A);
|
||||
auto elK = new G4Element("Potassium","K",Z = 19.,A);
|
||||
|
||||
A = 40.08*g/mole;
|
||||
G4Element* elCa = new G4Element("Calcium","Ca",Z = 20.,A);
|
||||
auto elCa = new G4Element("Calcium","Ca",Z = 20.,A);
|
||||
|
||||
A = 55.85*g/mole;
|
||||
G4Element* elFe = new G4Element("Iron","Fe",Z = 26.,A);
|
||||
auto elFe = new G4Element("Iron","Fe",Z = 26.,A);
|
||||
|
||||
A = 126.90447 *g/mole;
|
||||
G4Element*elI = new G4Element("Iodine","I", Z = 53.,A);
|
||||
auto elI = new G4Element("Iodine","I", Z = 53.,A);
|
||||
|
||||
|
||||
//Added tissues for phantom including their tissue ID
|
||||
|
||||
@@ -48,7 +48,7 @@ ICRP110PhantomNestedParameterisation(const G4ThreeVector& halfVoxelSize,
|
||||
fdX(halfVoxelSize.x()), fdY(halfVoxelSize.y()), fdZ(halfVoxelSize.z()),
|
||||
fnX(fnX_), fnY(fnY_), fnZ(fnZ_), // number of voxels along X, Y and Z
|
||||
fMaterials(mat), // vector of defined materials
|
||||
fMaterialIndices(0) // vector which associates MaterialID to voxels
|
||||
fMaterialIndices(nullptr) // vector which associates MaterialID to voxels
|
||||
{
|
||||
ReadColourData();//Define the color of each material
|
||||
// from ColourMap.dat
|
||||
@@ -62,7 +62,7 @@ void ICRP110PhantomNestedParameterisation::ReadColourData()
|
||||
// By default the tissues are not visible. Then
|
||||
// the visualisation attributes are defined based on
|
||||
// ColourMap.dat
|
||||
G4VisAttributes* blankAtt = new G4VisAttributes;
|
||||
auto blankAtt = new G4VisAttributes;
|
||||
blankAtt->SetVisibility( FALSE );
|
||||
fColours["Default"] = blankAtt;
|
||||
|
||||
@@ -74,10 +74,12 @@ void ICRP110PhantomNestedParameterisation::ReadColourData()
|
||||
G4String mateName;
|
||||
G4double cred, cgreen, cblue, copacity;
|
||||
fin >> nMate;
|
||||
G4VisAttributes* visAtt=nullptr;
|
||||
|
||||
for( G4int ii = 0; ii < nMate; ii++ ){
|
||||
fin >> mateName >> cred >> cgreen >> cblue >> copacity;
|
||||
G4Colour colour( cred, cgreen, cblue, copacity );
|
||||
G4VisAttributes* visAtt = new G4VisAttributes( colour );
|
||||
visAtt = new G4VisAttributes( colour );
|
||||
visAtt->SetForceSolid(true);
|
||||
fColours[mateName] = visAtt;
|
||||
// G4cout << mateName << " colour set : " << colour << G4endl;
|
||||
|
||||
@@ -86,7 +86,7 @@ if(!ofile)
|
||||
// retrieve the map
|
||||
MeshScoreMap fSMap = fScoringMesh -> GetScoreMap();
|
||||
|
||||
MeshScoreMap::const_iterator msMapItr = fSMap.find(psName);
|
||||
auto msMapItr = fSMap.find(psName);
|
||||
|
||||
if(msMapItr == fSMap.end())
|
||||
{
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
# Example STCyclotron History
|
||||
|
||||
==============================================================
|
||||
Geant4 - Solid-target cyclotron example
|
||||
==============================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
## 2022-06-20 Sergio Losilla (STCyclotron-V11-00-01)
|
||||
- Removed no-op lines, simplified calls to SetProductionCut.
|
||||
|
||||
## 2021-12-10 Ben Morgan (STCyclotron-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
07.10.2021 - I. Hrivnacova (STCyclotron-V10-07-07)
|
||||
- Migration to new G4AnalysisManager.hh header;
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -75,63 +75,63 @@ Region <Target> -- -- appears in <World> world volume
|
||||
Root logical volume(s) : Target
|
||||
Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0]
|
||||
Materials : G4_Ni
|
||||
Production cuts : gamma 175 um e- 175 um e+ 175 um proton 175 um
|
||||
Production cuts : gamma 175 um e- 175 um e+ 175 um proton 10 um
|
||||
|
||||
Region <Foil> -- -- appears in <World> world volume
|
||||
This region is in the mass world.
|
||||
Root logical volume(s) : Foil
|
||||
Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0]
|
||||
Materials : G4_Al
|
||||
Production cuts : gamma 5 Ang e- 5 Ang e+ 5 Ang proton 5 Ang
|
||||
Production cuts : gamma 5 Ang e- 5 Ang e+ 5 Ang proton 100 um
|
||||
|
||||
========= Table of registered couples ============================
|
||||
|
||||
Index : 0 used in the geometry : Yes
|
||||
Material : G4_AIR
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 10 keV
|
||||
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 1 used in the geometry : Yes
|
||||
Material : G4_Al
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 2.34147 keV e- 131.214 keV e+ 128.744 keV proton 10 keV
|
||||
Energy thresholds : gamma 2.34157 keV e- 131.218 keV e+ 128.746 keV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 2 used in the geometry : Yes
|
||||
Material : vacuumBeam
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 10 keV
|
||||
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 3 used in the geometry : Yes
|
||||
Material : helium
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 10 keV
|
||||
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 4 used in the geometry : Yes
|
||||
Material : G4_Pt
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 42.2904 keV e- 374.921 keV e+ 359.657 keV proton 10 keV
|
||||
Energy thresholds : gamma 42.2897 keV e- 374.929 keV e+ 359.669 keV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 5 used in the geometry : Yes
|
||||
Material : G4_Ni
|
||||
Range cuts : gamma 175 um e- 175 um e+ 175 um proton 175 um
|
||||
Energy thresholds : gamma 9.71418 keV e- 374.785 keV e+ 361.68 keV proton 17.5 keV
|
||||
Range cuts : gamma 175 um e- 175 um e+ 175 um proton 10 um
|
||||
Energy thresholds : gamma 9.71407 keV e- 374.794 keV e+ 361.684 keV proton 1 keV
|
||||
Region(s) which use this couple :
|
||||
Target
|
||||
|
||||
Index : 6 used in the geometry : Yes
|
||||
Material : G4_Al
|
||||
Range cuts : gamma 5 Ang e- 5 Ang e+ 5 Ang proton 5 Ang
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 50 meV
|
||||
Range cuts : gamma 5 Ang e- 5 Ang e+ 5 Ang proton 100 um
|
||||
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
Foil
|
||||
|
||||
@@ -160,7 +160,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 10
|
||||
User=35.760000s Real=36.120555s Sys=0.020000s
|
||||
User=21.240000s Real=21.718533s Sys=0.000000s
|
||||
... write file : SolidTargetCyclotron.root - done
|
||||
... close file : SolidTargetCyclotron.root - done
|
||||
G4 kernel has come to Quit state.
|
||||
@@ -176,19 +176,19 @@ G4SDManager deleted.
|
||||
EventManager deleted.
|
||||
Units table cleared.
|
||||
TransportationManager deleted.
|
||||
Total navigation history collections cleaned: 12
|
||||
Total navigation history collections cleaned: 10
|
||||
G4RNGHelper object is deleted.
|
||||
================== Deleting memory pools ===================
|
||||
Pool ID '20G4NavigationLevelRep', size : 0.0163 MB
|
||||
Pool ID '20G4NavigationLevelRep', size : 0.0135 MB
|
||||
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.522 MB
|
||||
Pool ID '16G4SmartVoxelNode', size : 0.00192 MB
|
||||
Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB
|
||||
Pool ID '7G4Event', size : 0.000961 MB
|
||||
Pool ID '15G4PrimaryVertex', size : 0.000961 MB
|
||||
Pool ID '17G4PrimaryParticle', size : 0.258 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.517 MB
|
||||
Pool ID '7G4Track', size : 1.03 MB
|
||||
Pool ID '18G4TouchableHistory', size : 0.00192 MB
|
||||
Pool ID '7G4Track', size : 1.04 MB
|
||||
Pool ID '18G4TouchableHistory', size : 0.000961 MB
|
||||
Pool ID '15G4CountedObjectIvE', size : 0.000961 MB
|
||||
Pool ID '17G4ReactionProduct', size : 0.00192 MB
|
||||
Pool ID '10G4Fragment', size : 0.000961 MB
|
||||
|
||||
@@ -52,8 +52,8 @@ public:
|
||||
void SetCutForGamma(G4double);
|
||||
void SetCutForElectron(G4double);
|
||||
void SetCutForPositron(G4double);
|
||||
void SetCutFoil(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma, G4double cutNeutron);
|
||||
void SetCutTarget(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma, G4double cutNeutron);
|
||||
void SetCutFoil(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma);
|
||||
void SetCutTarget(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma);
|
||||
|
||||
|
||||
|
||||
@@ -77,13 +77,11 @@ private:
|
||||
G4double fCutTargetElectron;
|
||||
G4double fCutTargetPositron;
|
||||
G4double fCutTargetGamma;
|
||||
G4double fCutTargetNeutron;
|
||||
|
||||
G4double fCutFoilProton;
|
||||
G4double fCutFoilElectron;
|
||||
G4double fCutFoilPositron;
|
||||
G4double fCutFoilGamma;
|
||||
G4double fCutFoilNeutron;
|
||||
|
||||
STCyclotronDetectorConstruction* fDetector;
|
||||
|
||||
|
||||
@@ -86,13 +86,11 @@ STCyclotronPhysicsList::STCyclotronPhysicsList(STCyclotronDetectorConstruction*
|
||||
fCutTargetElectron = fThickness_target;
|
||||
fCutTargetPositron = fThickness_target;
|
||||
fCutTargetGamma = fThickness_target;
|
||||
fCutTargetNeutron = fThickness_target;
|
||||
|
||||
fCutFoilProton = fThickness_foil;
|
||||
fCutFoilElectron = fThickness_foil;
|
||||
fCutFoilPositron = fThickness_foil;
|
||||
fCutFoilGamma = fThickness_foil;
|
||||
fCutFoilNeutron = fThickness_foil;
|
||||
|
||||
//EM physics
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option3(0);
|
||||
@@ -163,7 +161,7 @@ void STCyclotronPhysicsList::ConstructProcess()
|
||||
//Update the cuts with the 1/2 of the thickness of the foil/target
|
||||
//SetCuts();
|
||||
|
||||
SetCutTarget(0.01,fThickness_target/2.,fThickness_target/2.,fThickness_target/2.,fThickness_target/2.);
|
||||
SetCutTarget(0.01,fThickness_target/2.,fThickness_target/2.,fThickness_target/2.);
|
||||
|
||||
|
||||
|
||||
@@ -184,8 +182,8 @@ void STCyclotronPhysicsList::SetCuts()
|
||||
SetCutValue(fCutForPositron, "e+");
|
||||
|
||||
// Set cuts for detector
|
||||
SetCutFoil(0.1,fThickness_foil/2.,fThickness_foil/2.,fThickness_foil/2.,fThickness_foil/2.);
|
||||
SetCutTarget(0.01,fThickness_target/2.,fThickness_target/2.,fThickness_target/2.,fThickness_target/2.);
|
||||
SetCutFoil(0.1,fThickness_foil/2.,fThickness_foil/2.,fThickness_foil/2.);
|
||||
SetCutTarget(0.01,fThickness_target/2.,fThickness_target/2.,fThickness_target/2.);
|
||||
if (verboseLevel>0) DumpCutValuesTable();
|
||||
}
|
||||
|
||||
@@ -207,48 +205,42 @@ void STCyclotronPhysicsList::SetCutForPositron(G4double cut)
|
||||
SetParticleCuts(fCutForPositron, G4Positron::Positron());
|
||||
}
|
||||
|
||||
void STCyclotronPhysicsList::SetCutTarget(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma, G4double cutNeutron){
|
||||
void STCyclotronPhysicsList::SetCutTarget(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma){
|
||||
|
||||
fCutTargetProton = cutProton*mm;
|
||||
fCutTargetElectron = cutElectron*mm;
|
||||
fCutTargetPositron = cutPositron*mm;
|
||||
fCutTargetGamma = cutGamma*mm;
|
||||
fCutTargetNeutron = cutNeutron*mm;
|
||||
|
||||
G4String regionNameTarget = "Target";
|
||||
G4Region* regionTarget = G4RegionStore::GetInstance()->GetRegion(regionNameTarget);
|
||||
|
||||
G4ProductionCuts* cutsTarget = new G4ProductionCuts ;
|
||||
cutsTarget -> SetProductionCut(fCutTargetGamma,G4ProductionCuts::GetIndex("gamma"));
|
||||
cutsTarget -> SetProductionCut(fCutTargetElectron,G4ProductionCuts::GetIndex("e-"));
|
||||
cutsTarget -> SetProductionCut(fCutTargetPositron,G4ProductionCuts::GetIndex("e+"));
|
||||
cutsTarget -> SetProductionCut(fCutTargetProton,G4ProductionCuts::GetIndex("proton"));
|
||||
cutsTarget->SetProductionCut(fCutTargetProton, G4ProductionCuts::GetIndex("deuteron"));
|
||||
cutsTarget -> SetProductionCut(fCutTargetNeutron,G4ProductionCuts::GetIndex("neutron"));
|
||||
cutsTarget -> SetProductionCut(fCutTargetGamma,"gamma");
|
||||
cutsTarget -> SetProductionCut(fCutTargetElectron,"e-");
|
||||
cutsTarget -> SetProductionCut(fCutTargetPositron,"e+");
|
||||
cutsTarget -> SetProductionCut(fCutTargetProton,"proton");
|
||||
|
||||
regionTarget -> SetProductionCuts(cutsTarget);
|
||||
|
||||
}
|
||||
|
||||
void STCyclotronPhysicsList::SetCutFoil(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma, G4double cutNeutron){
|
||||
void STCyclotronPhysicsList::SetCutFoil(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma){
|
||||
|
||||
fCutFoilProton = cutProton*mm;
|
||||
fCutFoilElectron = cutElectron*mm;
|
||||
fCutFoilPositron = cutPositron*mm;
|
||||
fCutFoilGamma = cutGamma*mm;
|
||||
fCutFoilNeutron = cutNeutron*mm;
|
||||
|
||||
G4RegionStore::GetInstance()->GetRegion("Foil");
|
||||
G4String regionNameFoil = "Foil";
|
||||
G4Region* regionFoil = G4RegionStore::GetInstance()->GetRegion(regionNameFoil);
|
||||
|
||||
G4ProductionCuts* cutsFoil = new G4ProductionCuts ;
|
||||
cutsFoil -> SetProductionCut(fCutFoilGamma,G4ProductionCuts::GetIndex("gamma"));
|
||||
cutsFoil -> SetProductionCut(fCutFoilElectron,G4ProductionCuts::GetIndex("e-"));
|
||||
cutsFoil -> SetProductionCut(fCutFoilPositron,G4ProductionCuts::GetIndex("e+"));
|
||||
cutsFoil -> SetProductionCut(fCutFoilProton,G4ProductionCuts::GetIndex("proton"));
|
||||
cutsFoil->SetProductionCut(fCutFoilProton, G4ProductionCuts::GetIndex("deuteron"));
|
||||
cutsFoil -> SetProductionCut(fCutFoilNeutron,G4ProductionCuts::GetIndex("neutron"));
|
||||
cutsFoil -> SetProductionCut(fCutFoilGamma,"gamma");
|
||||
cutsFoil -> SetProductionCut(fCutFoilElectron,"e-");
|
||||
cutsFoil -> SetProductionCut(fCutFoilPositron,"e+");
|
||||
cutsFoil -> SetProductionCut(fCutFoilProton,"proton");
|
||||
|
||||
regionFoil -> SetProductionCuts(cutsFoil);
|
||||
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
# Example air_shower History
|
||||
|
||||
=========================================================
|
||||
Geant4 - Ultra Advanced example
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
History file
|
||||
------------
|
||||
## 2022-02-22 Daren Sawkey (air_shower-V11-00-01)
|
||||
- All material properties in order of increasing energy
|
||||
|
||||
## 2021-12-10 Ben Morgan (air_shower-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
11.11.2021 - B. Tome (air_shower-V10-07-04)
|
||||
Start using C++11 guidelines
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -101,6 +101,10 @@ Registered graphics systems are:
|
||||
OpenGLImmediateX (OGLIX, OGLIQt_FALLBACK, OGLIXm_FALLBACK)
|
||||
OpenGLStoredX (OGLSX, OGLSQt_FALLBACK, OGLSXm_FALLBACK)
|
||||
RayTracerX (RayTracerX)
|
||||
Qt3D (Qt3D)
|
||||
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
|
||||
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
|
||||
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
|
||||
|
||||
Registering model factories...
|
||||
|
||||
@@ -194,7 +198,8 @@ physicsList->setCut() start.
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use general process 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 1
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
X-section factor for integral approach 0.8
|
||||
@@ -211,7 +216,7 @@ Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
@@ -221,8 +226,9 @@ Step function for light ions (0.2, 0.1 mm)
|
||||
Step function for general ions (0.2, 0.1 mm)
|
||||
Lowest e+e- kinetic energy 1 keV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 0
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Type of fluctuation model 2
|
||||
Use built-in Birks satuaration 1
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
@@ -285,10 +291,10 @@ msc: for e- SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e- XStype:1 SubType=2
|
||||
eIoni: for e- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
@@ -313,10 +319,10 @@ msc: for e+ SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e+ XStype:1 SubType=2
|
||||
eIoni: for e+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
@@ -343,10 +349,10 @@ msc: for proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:1 SubType=2
|
||||
hIoni: for proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
@@ -375,10 +381,10 @@ msc: for GenericIon SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for GenericIon XStype:1 SubType=2
|
||||
ionIoni: for GenericIon XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
Stopping Power data for 17 ion/material pairs
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax= 2 MeV
|
||||
@@ -389,10 +395,10 @@ msc: for alpha SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for alpha XStype:1 SubType=2
|
||||
ionIoni: for alpha XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax=7.9452 MeV
|
||||
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV
|
||||
@@ -402,10 +408,10 @@ msc: for anti_proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:1 SubType=2
|
||||
hIoni: for anti_proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
@@ -434,10 +440,10 @@ msc: for kaon+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon+ XStype:1 SubType=2
|
||||
hIoni: for kaon+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
@@ -466,10 +472,10 @@ msc: for kaon- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon- XStype:1 SubType=2
|
||||
hIoni: for kaon- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
@@ -498,14 +504,13 @@ msc: for mu+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu+ XStype:1 SubType=2
|
||||
muIoni: for mu+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 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= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
@@ -516,7 +521,7 @@ muBrems: for mu+ XStype:1 SubType=3
|
||||
muPairProd: for mu+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -531,14 +536,13 @@ msc: for mu- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu- XStype:1 SubType=2
|
||||
muIoni: for mu- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 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= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
@@ -549,7 +553,7 @@ muBrems: for mu- XStype:1 SubType=3
|
||||
muPairProd: for mu- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -564,10 +568,10 @@ msc: for pi+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi+ XStype:1 SubType=2
|
||||
hIoni: for pi+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
@@ -596,10 +600,10 @@ msc: for pi- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi- XStype:1 SubType=2
|
||||
hIoni: for pi- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
@@ -641,28 +645,28 @@ Region <DefaultRegionForParallelWorld> -- -- is not associated to any world.
|
||||
Index : 0 used in the geometry : Yes
|
||||
Material : Air
|
||||
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 100 keV
|
||||
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
|
||||
Material : Aluminum
|
||||
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
|
||||
Energy thresholds : gamma 6.91818 keV e- 597.592 keV e+ 574.294 keV proton 100 keV
|
||||
Energy thresholds : gamma 6.91691 keV e- 597.603 keV e+ 574.29 keV proton 100 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 2 used in the geometry : Yes
|
||||
Material : Acrylic
|
||||
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
|
||||
Energy thresholds : gamma 2.77808 keV e- 389.117 keV e+ 377.901 keV proton 100 keV
|
||||
Energy thresholds : gamma 2.77771 keV e- 389.12 keV e+ 377.915 keV proton 100 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 3 used in the geometry : Yes
|
||||
Material : Quartz
|
||||
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
|
||||
Energy thresholds : gamma 6.02652 keV e- 614.656 keV e+ 591.024 keV proton 100 keV
|
||||
Energy thresholds : gamma 6.02536 keV e- 614.656 keV e+ 591.029 keV proton 100 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
@@ -691,8 +695,8 @@ See commands in /vis/modeling/trajectories/ for other options.
|
||||
ooo Run 0 starts (global).
|
||||
|
||||
--------- Ranlux engine status ---------
|
||||
Initial seed = 1653387435
|
||||
float_seed_table[] = 0.679642 0.282378 0.22417 0.9985 0.0862005 0.282983 0.473305 0.903354 0.99085 0.984021 0.808208 0.749773 0.506064 0.683597 0.56733 0.21337 0.914387 0.414573 0.780641 0.711102 0.130292 0.648337 0.56436 0.362236
|
||||
Initial seed = 1656510677
|
||||
float_seed_table[] = 0.67537 0.397105 0.895521 0.443124 0.308485 0.864686 0.60293 0.830782 0.0268728 0.345021 0.858085 0.551476 0.960402 0.53388 0.865799 0.105157 0.867925 0.220778 0.235352 0.524966 0.135397 0.857166 0.832263 0.318347
|
||||
i_lag = 23, j_lag = 9
|
||||
carry = 0, count24 = 0
|
||||
luxury = 3 nskip = 199
|
||||
@@ -703,11 +707,8 @@ mu- Mono Plane
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 100
|
||||
User=0.050000s Real=0.049342s Sys=0.000000s
|
||||
User=2.080000s Real=2.089093s Sys=0.000000s
|
||||
### Run 0 (global) ended.
|
||||
0 events have been kept for refreshing and/or reviewing.
|
||||
"/vis/reviewKeptEvents" to review them one by one.
|
||||
"/vis/enable", then "/vis/viewer/flush" or "/vis/viewer/rebuild" to see them accumulated.
|
||||
Graphics systems deleted.
|
||||
Visualization Manager deleting...
|
||||
G4 kernel has come to Quit state.
|
||||
@@ -723,11 +724,12 @@ G4SDManager deleted.
|
||||
EventManager deleted.
|
||||
Units table cleared.
|
||||
TransportationManager deleted.
|
||||
Total navigation history collections cleaned: 9
|
||||
Total navigation history collections cleaned: 10
|
||||
G4RNGHelper object is deleted.
|
||||
================== Deleting memory pools ===================
|
||||
Pool ID '20G4NavigationLevelRep', size : 0.0115 MB
|
||||
Pool ID '20G4NavigationLevelRep', size : 0.0135 MB
|
||||
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.025 MB
|
||||
Pool ID '16G4SmartVoxelNode', size : 0.00192 MB
|
||||
Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB
|
||||
Pool ID '7G4Event', size : 0.000961 MB
|
||||
@@ -735,12 +737,12 @@ Pool ID '15G4PrimaryVertex', size : 0.000961 MB
|
||||
Pool ID '17G4PrimaryParticle', size : 0.000961 MB
|
||||
Pool ID '15G4HCofThisEvent', size : 0.000961 MB
|
||||
Pool ID '16G4HitsCollection', size : 0.000961 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.0106 MB
|
||||
Pool ID '7G4Track', size : 0.0202 MB
|
||||
Pool ID '7G4Track', size : 0.049 MB
|
||||
Pool ID '18G4TouchableHistory', size : 0.000961 MB
|
||||
Pool ID '15G4CountedObjectIvE', size : 0.000961 MB
|
||||
Number of memory pools allocated: 13 of which, static: 0
|
||||
Dynamic pools deleted: 13 / Total memory freed: 0.053 MB
|
||||
Pool ID '15UltraOpticalHit', size : 0.00577 MB
|
||||
Number of memory pools allocated: 14 of which, static: 0
|
||||
Dynamic pools deleted: 14 / Total memory freed: 0.1 MB
|
||||
============================================================
|
||||
G4Allocator objects are deleted.
|
||||
UImanager deleted.
|
||||
|
||||
@@ -271,7 +271,8 @@ void UltraDetectorConstruction::ConstructTableMaterials()
|
||||
|
||||
for(auto i=0;i<NENTRIES; ++i){
|
||||
|
||||
lambda = lambda_min + i*(lambda_max-lambda_min)/float(NENTRIES-1);
|
||||
// want energies in increasing order
|
||||
lambda = lambda_min + (NENTRIES-1-i) * (lambda_max-lambda_min)/float(NENTRIES-1);
|
||||
RINDEX_ACRYLIC.push_back(0.0);
|
||||
|
||||
for (auto jj=0 ; jj<4 ; jj++)
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
-------------------------------------------------------------------
|
||||
# Example amsEcal History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
amsEcal History file
|
||||
--------------------
|
||||
This file should be used by the G4 example coordinator to briefly
|
||||
summarize all major modifications introduced in the code and keep
|
||||
track of all tags.
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
## 2022-01-18 Jonas Hahnfeld (amsEcal-V11-00-01)
|
||||
- Prefer pointer to `const G4Material` if possible
|
||||
|
||||
## 2021-12-10 Ben Morgan (amsEcal-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
07-10-21 I. Hrivnacova (amsEcal-V10-07-03)
|
||||
- Migration to new G4AnalysisManager.hh header;
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -128,21 +128,21 @@ Region <DefaultRegionForParallelWorld> -- -- is not associated to any world.
|
||||
Index : 0 used in the geometry : Yes
|
||||
Material : Galactic
|
||||
Range cuts : gamma 1 km e- 1 km e+ 1 km proton 1 km
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 100 GeV
|
||||
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 GeV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 1 used in the geometry : Yes
|
||||
Material : Lead
|
||||
Range cuts : gamma 1 km e- 1 km e+ 1 km proton 1 km
|
||||
Energy thresholds : gamma 9.54993 GeV e- 9.54993 GeV e+ 9.54993 GeV proton 100 GeV
|
||||
Energy thresholds : gamma 9.54965 GeV e- 9.54965 GeV e+ 9.54965 GeV proton 100 GeV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 2 used in the geometry : Yes
|
||||
Material : Scintillator
|
||||
Range cuts : gamma 1 km e- 1 km e+ 1 km proton 1 km
|
||||
Energy thresholds : gamma 9.54993 GeV e- 9.54993 GeV e+ 9.54993 GeV proton 100 GeV
|
||||
Energy thresholds : gamma 9.54965 GeV e- 9.54965 GeV e+ 9.54965 GeV proton 100 GeV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
@@ -186,7 +186,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 10000
|
||||
User=6.340000s Real=6.391310s Sys=0.000000s
|
||||
User=6.160000s Real=6.248297s Sys=0.000000s
|
||||
|
||||
-------------------------------------------------------------
|
||||
---> The calorimeter is 9 Modules
|
||||
@@ -209,106 +209,106 @@ Run Summary
|
||||
|
||||
total Energy (rms/mean) visible Energy (rms/mean)
|
||||
|
||||
layer 1: 1.511 MeV +- 2.251 MeV (1.5e+02 %) 161.26 keV +- 478 keV (3e+02 %)
|
||||
layer 2: 1.5585 MeV +- 2.669 MeV (1.7e+02 %) 168.13 keV +- 852.5 keV (5.1e+02 %)
|
||||
layer 3: 1.5052 MeV +- 2.475 MeV (1.6e+02 %) 150.95 keV +- 301.4 keV (2e+02 %)
|
||||
layer 4: 1.5237 MeV +- 2.487 MeV (1.6e+02 %) 153.41 keV +- 470.7 keV (3.1e+02 %)
|
||||
layer 5: 1.5354 MeV +- 2.873 MeV (1.9e+02 %) 162.65 keV +- 683.3 keV (4.2e+02 %)
|
||||
layer 6: 1.5497 MeV +- 2.432 MeV (1.6e+02 %) 160.61 keV +- 772.8 keV (4.8e+02 %)
|
||||
layer 7: 1.5365 MeV +- 2.78 MeV (1.8e+02 %) 169.32 keV +- 809.4 keV (4.8e+02 %)
|
||||
layer 8: 1.5535 MeV +- 2.392 MeV (1.5e+02 %) 156.92 keV +- 678.4 keV (4.3e+02 %)
|
||||
layer 9: 1.4744 MeV +- 1.985 MeV (1.3e+02 %) 162.87 keV +- 987 keV (6.1e+02 %)
|
||||
layer 10: 1.4969 MeV +- 1.724 MeV (1.2e+02 %) 152.62 keV +- 742.7 keV (4.9e+02 %)
|
||||
layer 11: 1.523 MeV +- 2.356 MeV (1.5e+02 %) 174.79 keV +- 1.023 MeV (5.9e+02 %)
|
||||
layer 12: 1.5865 MeV +- 2.659 MeV (1.7e+02 %) 184.74 keV +- 1.37 MeV (7.4e+02 %)
|
||||
layer 13: 1.5074 MeV +- 2.32 MeV (1.5e+02 %) 156.73 keV +- 756.6 keV (4.8e+02 %)
|
||||
layer 14: 1.5173 MeV +- 2.283 MeV (1.5e+02 %) 148.85 keV +- 708.6 keV (4.8e+02 %)
|
||||
layer 15: 1.5396 MeV +- 2.761 MeV (1.8e+02 %) 149.38 keV +- 302.4 keV (2e+02 %)
|
||||
layer 16: 1.4939 MeV +- 1.776 MeV (1.2e+02 %) 154.77 keV +- 932.1 keV (6e+02 %)
|
||||
layer 17: 1.491 MeV +- 1.817 MeV (1.2e+02 %) 149.51 keV +- 263.3 keV (1.8e+02 %)
|
||||
layer 18: 1.5215 MeV +- 2.027 MeV (1.3e+02 %) 160.83 keV +- 803.9 keV (5e+02 %)
|
||||
layer 19: 1.5422 MeV +- 2.17 MeV (1.4e+02 %) 158.24 keV +- 502.3 keV (3.2e+02 %)
|
||||
layer 20: 1.5245 MeV +- 2.418 MeV (1.6e+02 %) 167.57 keV +- 1.054 MeV (6.3e+02 %)
|
||||
layer 21: 1.5339 MeV +- 2.311 MeV (1.5e+02 %) 162.11 keV +- 883.8 keV (5.5e+02 %)
|
||||
layer 22: 1.5329 MeV +- 2.182 MeV (1.4e+02 %) 159.53 keV +- 741.8 keV (4.7e+02 %)
|
||||
layer 23: 1.505 MeV +- 1.894 MeV (1.3e+02 %) 154.06 keV +- 475.5 keV (3.1e+02 %)
|
||||
layer 24: 1.5269 MeV +- 2.263 MeV (1.5e+02 %) 157.18 keV +- 658.4 keV (4.2e+02 %)
|
||||
layer 25: 1.5007 MeV +- 2.116 MeV (1.4e+02 %) 158.21 keV +- 427.6 keV (2.7e+02 %)
|
||||
layer 26: 1.5279 MeV +- 2.096 MeV (1.4e+02 %) 145.82 keV +- 377.8 keV (2.6e+02 %)
|
||||
layer 27: 1.5137 MeV +- 2.525 MeV (1.7e+02 %) 164.63 keV +- 712.5 keV (4.3e+02 %)
|
||||
layer 28: 1.5355 MeV +- 2.324 MeV (1.5e+02 %) 161.19 keV +- 880 keV (5.5e+02 %)
|
||||
layer 29: 1.5028 MeV +- 2.115 MeV (1.4e+02 %) 156.29 keV +- 437.1 keV (2.8e+02 %)
|
||||
layer 30: 1.5224 MeV +- 2.212 MeV (1.5e+02 %) 146.74 keV +- 474.3 keV (3.2e+02 %)
|
||||
layer 31: 1.5473 MeV +- 2.312 MeV (1.5e+02 %) 157.35 keV +- 715.2 keV (4.5e+02 %)
|
||||
layer 32: 1.5269 MeV +- 2.532 MeV (1.7e+02 %) 150.17 keV +- 343.1 keV (2.3e+02 %)
|
||||
layer 33: 1.5281 MeV +- 2.193 MeV (1.4e+02 %) 168.46 keV +- 978.3 keV (5.8e+02 %)
|
||||
layer 34: 1.5481 MeV +- 2.434 MeV (1.6e+02 %) 174.87 keV +- 1.198 MeV (6.8e+02 %)
|
||||
layer 35: 1.4957 MeV +- 1.827 MeV (1.2e+02 %) 159.84 keV +- 658.3 keV (4.1e+02 %)
|
||||
layer 36: 1.537 MeV +- 2.317 MeV (1.5e+02 %) 160.07 keV +- 778 keV (4.9e+02 %)
|
||||
layer 37: 1.5352 MeV +- 2.287 MeV (1.5e+02 %) 156.35 keV +- 544.6 keV (3.5e+02 %)
|
||||
layer 38: 1.544 MeV +- 2.322 MeV (1.5e+02 %) 154.21 keV +- 434.1 keV (2.8e+02 %)
|
||||
layer 39: 1.5263 MeV +- 2.225 MeV (1.5e+02 %) 152.33 keV +- 358.6 keV (2.4e+02 %)
|
||||
layer 40: 1.5226 MeV +- 2.185 MeV (1.4e+02 %) 152.88 keV +- 529.7 keV (3.5e+02 %)
|
||||
layer 41: 1.5249 MeV +- 2.609 MeV (1.7e+02 %) 157.07 keV +- 812.1 keV (5.2e+02 %)
|
||||
layer 42: 1.5329 MeV +- 2.207 MeV (1.4e+02 %) 150.37 keV +- 348.5 keV (2.3e+02 %)
|
||||
layer 43: 1.539 MeV +- 2.478 MeV (1.6e+02 %) 152.71 keV +- 476.3 keV (3.1e+02 %)
|
||||
layer 44: 1.5313 MeV +- 2.467 MeV (1.6e+02 %) 152.45 keV +- 500.9 keV (3.3e+02 %)
|
||||
layer 45: 1.5409 MeV +- 2.313 MeV (1.5e+02 %) 157.96 keV +- 518.6 keV (3.3e+02 %)
|
||||
layer 46: 1.5479 MeV +- 2.343 MeV (1.5e+02 %) 157.73 keV +- 540.7 keV (3.4e+02 %)
|
||||
layer 47: 1.5057 MeV +- 2.031 MeV (1.3e+02 %) 157.08 keV +- 655 keV (4.2e+02 %)
|
||||
layer 48: 1.5057 MeV +- 2.071 MeV (1.4e+02 %) 154.67 keV +- 660.4 keV (4.3e+02 %)
|
||||
layer 49: 1.5465 MeV +- 2.447 MeV (1.6e+02 %) 170.36 keV +- 1.311 MeV (7.7e+02 %)
|
||||
layer 50: 1.5164 MeV +- 2.204 MeV (1.5e+02 %) 148.26 keV +- 429.3 keV (2.9e+02 %)
|
||||
layer 51: 1.5147 MeV +- 2.039 MeV (1.3e+02 %) 163.92 keV +- 690.4 keV (4.2e+02 %)
|
||||
layer 52: 1.5511 MeV +- 2.487 MeV (1.6e+02 %) 160.62 keV +- 655.1 keV (4.1e+02 %)
|
||||
layer 53: 1.539 MeV +- 2.404 MeV (1.6e+02 %) 161.92 keV +- 910.4 keV (5.6e+02 %)
|
||||
layer 54: 1.4969 MeV +- 2.018 MeV (1.3e+02 %) 152.26 keV +- 420.4 keV (2.8e+02 %)
|
||||
layer 55: 1.5351 MeV +- 2.427 MeV (1.6e+02 %) 161.49 keV +- 648.6 keV (4e+02 %)
|
||||
layer 56: 1.5048 MeV +- 2.105 MeV (1.4e+02 %) 164.36 keV +- 811.3 keV (4.9e+02 %)
|
||||
layer 57: 1.5419 MeV +- 2.194 MeV (1.4e+02 %) 155.07 keV +- 642.6 keV (4.1e+02 %)
|
||||
layer 58: 1.5732 MeV +- 2.838 MeV (1.8e+02 %) 156.53 keV +- 658.7 keV (4.2e+02 %)
|
||||
layer 59: 1.4961 MeV +- 1.866 MeV (1.2e+02 %) 151.9 keV +- 492.7 keV (3.2e+02 %)
|
||||
layer 60: 1.5192 MeV +- 1.936 MeV (1.3e+02 %) 158.11 keV +- 773.4 keV (4.9e+02 %)
|
||||
layer 61: 1.4799 MeV +- 1.801 MeV (1.2e+02 %) 148.99 keV +- 453 keV (3e+02 %)
|
||||
layer 62: 1.5574 MeV +- 2.56 MeV (1.6e+02 %) 155.26 keV +- 569.2 keV (3.7e+02 %)
|
||||
layer 63: 1.5121 MeV +- 2.23 MeV (1.5e+02 %) 151.23 keV +- 452.1 keV (3e+02 %)
|
||||
layer 64: 1.4964 MeV +- 1.911 MeV (1.3e+02 %) 146.56 keV +- 356.6 keV (2.4e+02 %)
|
||||
layer 65: 1.4984 MeV +- 2.108 MeV (1.4e+02 %) 159.2 keV +- 538.3 keV (3.4e+02 %)
|
||||
layer 66: 1.5167 MeV +- 2.15 MeV (1.4e+02 %) 164.53 keV +- 837.7 keV (5.1e+02 %)
|
||||
layer 67: 1.5076 MeV +- 2.205 MeV (1.5e+02 %) 157.69 keV +- 569.9 keV (3.6e+02 %)
|
||||
layer 68: 1.5049 MeV +- 2.341 MeV (1.6e+02 %) 165.87 keV +- 1.039 MeV (6.3e+02 %)
|
||||
layer 69: 1.4807 MeV +- 1.813 MeV (1.2e+02 %) 152.46 keV +- 383.3 keV (2.5e+02 %)
|
||||
layer 70: 1.5309 MeV +- 2.057 MeV (1.3e+02 %) 159.37 keV +- 694.5 keV (4.4e+02 %)
|
||||
layer 71: 1.4957 MeV +- 1.945 MeV (1.3e+02 %) 153.48 keV +- 392.8 keV (2.6e+02 %)
|
||||
layer 72: 1.5089 MeV +- 2.201 MeV (1.5e+02 %) 155.04 keV +- 685.9 keV (4.4e+02 %)
|
||||
layer 73: 1.5263 MeV +- 2.14 MeV (1.4e+02 %) 170.6 keV +- 818.3 keV (4.8e+02 %)
|
||||
layer 74: 1.4889 MeV +- 1.894 MeV (1.3e+02 %) 144.74 keV +- 244.1 keV (1.7e+02 %)
|
||||
layer 75: 1.5167 MeV +- 2.306 MeV (1.5e+02 %) 152.65 keV +- 430.5 keV (2.8e+02 %)
|
||||
layer 76: 1.5257 MeV +- 2.229 MeV (1.5e+02 %) 155.7 keV +- 398.2 keV (2.6e+02 %)
|
||||
layer 77: 1.5026 MeV +- 2.168 MeV (1.4e+02 %) 165.03 keV +- 914.9 keV (5.5e+02 %)
|
||||
layer 78: 1.5155 MeV +- 2.221 MeV (1.5e+02 %) 163.46 keV +- 838.3 keV (5.1e+02 %)
|
||||
layer 79: 1.4881 MeV +- 1.923 MeV (1.3e+02 %) 154.72 keV +- 621.3 keV (4e+02 %)
|
||||
layer 80: 1.4821 MeV +- 1.789 MeV (1.2e+02 %) 167.57 keV +- 866.7 keV (5.2e+02 %)
|
||||
layer 81: 1.4854 MeV +- 1.903 MeV (1.3e+02 %) 145.52 keV +- 318.6 keV (2.2e+02 %)
|
||||
layer 82: 1.5184 MeV +- 2.126 MeV (1.4e+02 %) 144.31 keV +- 235.9 keV (1.6e+02 %)
|
||||
layer 83: 1.5336 MeV +- 2.332 MeV (1.5e+02 %) 166.65 keV +- 761.1 keV (4.6e+02 %)
|
||||
layer 84: 1.4842 MeV +- 1.921 MeV (1.3e+02 %) 149.31 keV +- 376.8 keV (2.5e+02 %)
|
||||
layer 85: 1.5364 MeV +- 2.188 MeV (1.4e+02 %) 157.13 keV +- 684.4 keV (4.4e+02 %)
|
||||
layer 86: 1.5331 MeV +- 2.438 MeV (1.6e+02 %) 158.38 keV +- 491 keV (3.1e+02 %)
|
||||
layer 87: 1.49 MeV +- 1.876 MeV (1.3e+02 %) 154.28 keV +- 405.4 keV (2.6e+02 %)
|
||||
layer 88: 1.5193 MeV +- 2.21 MeV (1.5e+02 %) 157.27 keV +- 575.6 keV (3.7e+02 %)
|
||||
layer 89: 1.493 MeV +- 1.985 MeV (1.3e+02 %) 155.72 keV +- 603.1 keV (3.9e+02 %)
|
||||
layer 90: 1.5328 MeV +- 2.203 MeV (1.4e+02 %) 155.93 keV +- 842.2 keV (5.4e+02 %)
|
||||
layer 1: 1.5863 MeV +- 3.074 MeV (1.9e+02 %) 164.82 keV +- 1.129 MeV (6.9e+02 %)
|
||||
layer 2: 1.5596 MeV +- 2.499 MeV (1.6e+02 %) 151.77 keV +- 495.4 keV (3.3e+02 %)
|
||||
layer 3: 1.5195 MeV +- 2.178 MeV (1.4e+02 %) 161.87 keV +- 648.9 keV (4e+02 %)
|
||||
layer 4: 1.5254 MeV +- 2.204 MeV (1.4e+02 %) 168.06 keV +- 901.7 keV (5.4e+02 %)
|
||||
layer 5: 1.5383 MeV +- 2.478 MeV (1.6e+02 %) 169.56 keV +- 1.004 MeV (5.9e+02 %)
|
||||
layer 6: 1.5433 MeV +- 2.264 MeV (1.5e+02 %) 167.06 keV +- 1.007 MeV (6e+02 %)
|
||||
layer 7: 1.5073 MeV +- 2.445 MeV (1.6e+02 %) 159.39 keV +- 595 keV (3.7e+02 %)
|
||||
layer 8: 1.5125 MeV +- 2.227 MeV (1.5e+02 %) 155.04 keV +- 683.9 keV (4.4e+02 %)
|
||||
layer 9: 1.5523 MeV +- 2.679 MeV (1.7e+02 %) 177.31 keV +- 1.14 MeV (6.4e+02 %)
|
||||
layer 10: 1.5289 MeV +- 2.243 MeV (1.5e+02 %) 155.57 keV +- 581.1 keV (3.7e+02 %)
|
||||
layer 11: 1.5873 MeV +- 2.917 MeV (1.8e+02 %) 158.89 keV +- 751.5 keV (4.7e+02 %)
|
||||
layer 12: 1.553 MeV +- 2.423 MeV (1.6e+02 %) 160.96 keV +- 502.9 keV (3.1e+02 %)
|
||||
layer 13: 1.5199 MeV +- 2.19 MeV (1.4e+02 %) 157.8 keV +- 828.9 keV (5.3e+02 %)
|
||||
layer 14: 1.5448 MeV +- 2.593 MeV (1.7e+02 %) 158.88 keV +- 509 keV (3.2e+02 %)
|
||||
layer 15: 1.5587 MeV +- 2.632 MeV (1.7e+02 %) 162.9 keV +- 1.032 MeV (6.3e+02 %)
|
||||
layer 16: 1.4985 MeV +- 2.019 MeV (1.3e+02 %) 144.08 keV +- 286 keV (2e+02 %)
|
||||
layer 17: 1.5221 MeV +- 2.21 MeV (1.5e+02 %) 156.61 keV +- 631.8 keV (4e+02 %)
|
||||
layer 18: 1.5181 MeV +- 2.301 MeV (1.5e+02 %) 150.23 keV +- 330.2 keV (2.2e+02 %)
|
||||
layer 19: 1.4889 MeV +- 2.015 MeV (1.4e+02 %) 151.8 keV +- 428.6 keV (2.8e+02 %)
|
||||
layer 20: 1.534 MeV +- 2.157 MeV (1.4e+02 %) 157.92 keV +- 420.3 keV (2.7e+02 %)
|
||||
layer 21: 1.5643 MeV +- 2.566 MeV (1.6e+02 %) 167.41 keV +- 1.122 MeV (6.7e+02 %)
|
||||
layer 22: 1.5119 MeV +- 2.048 MeV (1.4e+02 %) 160.78 keV +- 944.9 keV (5.9e+02 %)
|
||||
layer 23: 1.5166 MeV +- 2.039 MeV (1.3e+02 %) 151.43 keV +- 412.4 keV (2.7e+02 %)
|
||||
layer 24: 1.5151 MeV +- 1.953 MeV (1.3e+02 %) 153.58 keV +- 622.2 keV (4.1e+02 %)
|
||||
layer 25: 1.5095 MeV +- 2.175 MeV (1.4e+02 %) 154.65 keV +- 531.5 keV (3.4e+02 %)
|
||||
layer 26: 1.495 MeV +- 2.05 MeV (1.4e+02 %) 160.13 keV +- 696.3 keV (4.3e+02 %)
|
||||
layer 27: 1.5732 MeV +- 2.744 MeV (1.7e+02 %) 171.47 keV +- 1.177 MeV (6.9e+02 %)
|
||||
layer 28: 1.533 MeV +- 2.285 MeV (1.5e+02 %) 157.02 keV +- 564.9 keV (3.6e+02 %)
|
||||
layer 29: 1.5386 MeV +- 2.278 MeV (1.5e+02 %) 157.14 keV +- 635.3 keV (4e+02 %)
|
||||
layer 30: 1.5372 MeV +- 2.518 MeV (1.6e+02 %) 157.16 keV +- 436.1 keV (2.8e+02 %)
|
||||
layer 31: 1.5471 MeV +- 2.493 MeV (1.6e+02 %) 164.82 keV +- 1.045 MeV (6.3e+02 %)
|
||||
layer 32: 1.4968 MeV +- 1.763 MeV (1.2e+02 %) 171.11 keV +- 961.5 keV (5.6e+02 %)
|
||||
layer 33: 1.5266 MeV +- 2.165 MeV (1.4e+02 %) 161.95 keV +- 745.2 keV (4.6e+02 %)
|
||||
layer 34: 1.5132 MeV +- 2.107 MeV (1.4e+02 %) 166.25 keV +- 1.024 MeV (6.2e+02 %)
|
||||
layer 35: 1.4895 MeV +- 1.756 MeV (1.2e+02 %) 167.36 keV +- 1.068 MeV (6.4e+02 %)
|
||||
layer 36: 1.5094 MeV +- 1.903 MeV (1.3e+02 %) 158.72 keV +- 561.1 keV (3.5e+02 %)
|
||||
layer 37: 1.562 MeV +- 2.524 MeV (1.6e+02 %) 165.23 keV +- 919.4 keV (5.6e+02 %)
|
||||
layer 38: 1.5108 MeV +- 2.138 MeV (1.4e+02 %) 153.62 keV +- 625.6 keV (4.1e+02 %)
|
||||
layer 39: 1.5184 MeV +- 2.147 MeV (1.4e+02 %) 161.04 keV +- 910.1 keV (5.7e+02 %)
|
||||
layer 40: 1.5718 MeV +- 2.785 MeV (1.8e+02 %) 168.4 keV +- 973 keV (5.8e+02 %)
|
||||
layer 41: 1.5246 MeV +- 2.343 MeV (1.5e+02 %) 153.97 keV +- 407.8 keV (2.6e+02 %)
|
||||
layer 42: 1.5272 MeV +- 2.188 MeV (1.4e+02 %) 164.79 keV +- 951.7 keV (5.8e+02 %)
|
||||
layer 43: 1.5407 MeV +- 2.618 MeV (1.7e+02 %) 160.51 keV +- 625.1 keV (3.9e+02 %)
|
||||
layer 44: 1.5215 MeV +- 2.236 MeV (1.5e+02 %) 158.39 keV +- 666.4 keV (4.2e+02 %)
|
||||
layer 45: 1.5432 MeV +- 2.264 MeV (1.5e+02 %) 157.11 keV +- 576.3 keV (3.7e+02 %)
|
||||
layer 46: 1.5033 MeV +- 2.067 MeV (1.4e+02 %) 150.38 keV +- 312.9 keV (2.1e+02 %)
|
||||
layer 47: 1.4749 MeV +- 1.737 MeV (1.2e+02 %) 157.35 keV +- 516.6 keV (3.3e+02 %)
|
||||
layer 48: 1.5441 MeV +- 2.467 MeV (1.6e+02 %) 174.41 keV +- 902.7 keV (5.2e+02 %)
|
||||
layer 49: 1.5401 MeV +- 2.339 MeV (1.5e+02 %) 153.42 keV +- 516.7 keV (3.4e+02 %)
|
||||
layer 50: 1.5045 MeV +- 2.154 MeV (1.4e+02 %) 149.99 keV +- 340.4 keV (2.3e+02 %)
|
||||
layer 51: 1.5345 MeV +- 2.187 MeV (1.4e+02 %) 162.47 keV +- 873 keV (5.4e+02 %)
|
||||
layer 52: 1.5163 MeV +- 2.036 MeV (1.3e+02 %) 165.41 keV +- 834.4 keV (5e+02 %)
|
||||
layer 53: 1.5159 MeV +- 2.107 MeV (1.4e+02 %) 157.26 keV +- 630.8 keV (4e+02 %)
|
||||
layer 54: 1.5311 MeV +- 2.162 MeV (1.4e+02 %) 155.52 keV +- 573.3 keV (3.7e+02 %)
|
||||
layer 55: 1.5228 MeV +- 2.16 MeV (1.4e+02 %) 156.19 keV +- 581.6 keV (3.7e+02 %)
|
||||
layer 56: 1.532 MeV +- 2.192 MeV (1.4e+02 %) 157.56 keV +- 505.1 keV (3.2e+02 %)
|
||||
layer 57: 1.5365 MeV +- 2.254 MeV (1.5e+02 %) 164.29 keV +- 788.4 keV (4.8e+02 %)
|
||||
layer 58: 1.5162 MeV +- 2.189 MeV (1.4e+02 %) 163.68 keV +- 686.6 keV (4.2e+02 %)
|
||||
layer 59: 1.5219 MeV +- 2.056 MeV (1.4e+02 %) 163.47 keV +- 862.5 keV (5.3e+02 %)
|
||||
layer 60: 1.467 MeV +- 1.708 MeV (1.2e+02 %) 158.27 keV +- 734 keV (4.6e+02 %)
|
||||
layer 61: 1.5124 MeV +- 2.083 MeV (1.4e+02 %) 163.26 keV +- 635.7 keV (3.9e+02 %)
|
||||
layer 62: 1.5096 MeV +- 2.12 MeV (1.4e+02 %) 163.55 keV +- 833.3 keV (5.1e+02 %)
|
||||
layer 63: 1.4956 MeV +- 1.745 MeV (1.2e+02 %) 155.59 keV +- 458 keV (2.9e+02 %)
|
||||
layer 64: 1.4978 MeV +- 1.96 MeV (1.3e+02 %) 155.54 keV +- 680.7 keV (4.4e+02 %)
|
||||
layer 65: 1.4971 MeV +- 1.758 MeV (1.2e+02 %) 154.93 keV +- 468.1 keV (3e+02 %)
|
||||
layer 66: 1.5236 MeV +- 1.989 MeV (1.3e+02 %) 161.81 keV +- 772.2 keV (4.8e+02 %)
|
||||
layer 67: 1.5035 MeV +- 2.026 MeV (1.3e+02 %) 161.19 keV +- 960.7 keV (6e+02 %)
|
||||
layer 68: 1.5429 MeV +- 2.453 MeV (1.6e+02 %) 160.36 keV +- 532.5 keV (3.3e+02 %)
|
||||
layer 69: 1.5305 MeV +- 2.105 MeV (1.4e+02 %) 154.75 keV +- 672.1 keV (4.3e+02 %)
|
||||
layer 70: 1.4951 MeV +- 1.865 MeV (1.2e+02 %) 150.4 keV +- 484.5 keV (3.2e+02 %)
|
||||
layer 71: 1.5377 MeV +- 2.392 MeV (1.6e+02 %) 160.08 keV +- 616.9 keV (3.9e+02 %)
|
||||
layer 72: 1.5049 MeV +- 2.101 MeV (1.4e+02 %) 148.15 keV +- 430.5 keV (2.9e+02 %)
|
||||
layer 73: 1.5231 MeV +- 2.14 MeV (1.4e+02 %) 149.51 keV +- 416.4 keV (2.8e+02 %)
|
||||
layer 74: 1.5324 MeV +- 2.313 MeV (1.5e+02 %) 152.98 keV +- 426.6 keV (2.8e+02 %)
|
||||
layer 75: 1.5608 MeV +- 2.33 MeV (1.5e+02 %) 163.99 keV +- 797 keV (4.9e+02 %)
|
||||
layer 76: 1.5359 MeV +- 2.343 MeV (1.5e+02 %) 162.78 keV +- 535.5 keV (3.3e+02 %)
|
||||
layer 77: 1.4973 MeV +- 2.025 MeV (1.4e+02 %) 158.43 keV +- 807.4 keV (5.1e+02 %)
|
||||
layer 78: 1.4759 MeV +- 1.572 MeV (1.1e+02 %) 146.14 keV +- 254.3 keV (1.7e+02 %)
|
||||
layer 79: 1.5384 MeV +- 2.385 MeV (1.6e+02 %) 162.86 keV +- 771.1 keV (4.7e+02 %)
|
||||
layer 80: 1.5079 MeV +- 2.163 MeV (1.4e+02 %) 153.33 keV +- 566.6 keV (3.7e+02 %)
|
||||
layer 81: 1.5174 MeV +- 2.076 MeV (1.4e+02 %) 151.6 keV +- 478.9 keV (3.2e+02 %)
|
||||
layer 82: 1.48 MeV +- 1.611 MeV (1.1e+02 %) 152.35 keV +- 322.6 keV (2.1e+02 %)
|
||||
layer 83: 1.5351 MeV +- 2.243 MeV (1.5e+02 %) 153.91 keV +- 700.2 keV (4.5e+02 %)
|
||||
layer 84: 1.5436 MeV +- 2.35 MeV (1.5e+02 %) 150.05 keV +- 516.2 keV (3.4e+02 %)
|
||||
layer 85: 1.4804 MeV +- 1.733 MeV (1.2e+02 %) 156.73 keV +- 577.2 keV (3.7e+02 %)
|
||||
layer 86: 1.5107 MeV +- 2.002 MeV (1.3e+02 %) 153.42 keV +- 521.3 keV (3.4e+02 %)
|
||||
layer 87: 1.5117 MeV +- 2.039 MeV (1.3e+02 %) 155.55 keV +- 438.4 keV (2.8e+02 %)
|
||||
layer 88: 1.5299 MeV +- 2.245 MeV (1.5e+02 %) 174.7 keV +- 1.018 MeV (5.8e+02 %)
|
||||
layer 89: 1.5103 MeV +- 1.881 MeV (1.2e+02 %) 162.68 keV +- 759.7 keV (4.7e+02 %)
|
||||
layer 90: 1.5124 MeV +- 2.075 MeV (1.4e+02 %) 152.15 keV +- 547 keV (3.6e+02 %)
|
||||
|
||||
total calor : 149.26 MeV +- 21.54 MeV ( 14 %) 14.19 MeV +- 6.392 MeV ( 45 %)
|
||||
total calor : 149.6 MeV +- 21.42 MeV ( 14 %) 14.307 MeV +- 6.755 MeV ( 47 %)
|
||||
------------------------------------------------------------
|
||||
|
||||
Leakage : 850.74 MeV +- 21.54 MeV
|
||||
Eleak/Ebeam =85.1 % ( forward =85.1 % backward = 0 % lateral = 0 %)
|
||||
Leakage : 850.4 MeV +- 21.42 MeV
|
||||
Eleak/Ebeam = 85 % ( forward = 85 % backward = 0 % lateral = 0 %)
|
||||
|
||||
--------- Ranecu engine status ---------
|
||||
Initial seed (index) = 0
|
||||
Current couple of seeds = 250019943, 211278469
|
||||
Current couple of seeds = 1013644840, 1220674325
|
||||
----------------------------------------
|
||||
G4 kernel has come to Quit state.
|
||||
UserDetectorConstruction deleted.
|
||||
|
||||
@@ -96,7 +96,7 @@ G4double SteppingAction::BirksAttenuation(const G4Step* aStep)
|
||||
//Example of Birk attenuation law in organic scintillators.
|
||||
//adapted from Geant3 PHYS337. See MIN 80 (1970) 239-244
|
||||
//
|
||||
G4Material* material = aStep->GetTrack()->GetMaterial();
|
||||
const G4Material* material = aStep->GetTrack()->GetMaterial();
|
||||
G4double birk1 = material->GetIonisation()->GetBirksConstant();
|
||||
G4double destep = aStep->GetTotalEnergyDeposit();
|
||||
G4double stepl = aStep->GetStepLength();
|
||||
|
||||
@@ -84,12 +84,12 @@ int main(int argc ,char ** argv)
|
||||
pRunManager -> SetUserInitialization(new BrachyPhysicsList);
|
||||
|
||||
// Initialize the detector component
|
||||
BrachyDetectorConstruction *pDetectorConstruction = new BrachyDetectorConstruction();
|
||||
auto pDetectorConstruction = new BrachyDetectorConstruction();
|
||||
pRunManager -> SetUserInitialization(pDetectorConstruction);
|
||||
|
||||
// User action initialization
|
||||
|
||||
BrachyActionInitialization* actions = new BrachyActionInitialization();
|
||||
auto actions = new BrachyActionInitialization();
|
||||
pRunManager->SetUserInitialization(actions);
|
||||
|
||||
//Initialize G4 kernel
|
||||
@@ -103,7 +103,7 @@ int main(int argc ,char ** argv)
|
||||
G4UImanager* UImanager = G4UImanager::GetUIpointer();
|
||||
if (argc == 1) // Define UI session for interactive mode.
|
||||
{
|
||||
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
|
||||
auto ui = new G4UIExecutive(argc, argv);
|
||||
G4cout << " UI session starts ..." << G4endl;
|
||||
UImanager -> ApplyCommand("/control/execute VisualisationMacro.mac");
|
||||
ui -> SessionStart();
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
# Example brachytherapy History
|
||||
|
||||
=========================================================
|
||||
Geant4 - Brachytherapy example
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
## 2022-05-30 Susanna Guatelli (brachy-V11-00-01)
|
||||
- Migration to c++11/14/17 features
|
||||
|
||||
## 2021-12-10 Ben Morgan (brachy-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
07.10.2021 - I. Hrivnacova; brachy-V10-07-04
|
||||
Migration to new G4AnalysisManager.hh header;
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -41,6 +41,10 @@ Registered graphics systems are:
|
||||
OpenGLImmediateX (OGLIX, OGLIQt_FALLBACK, OGLIXm_FALLBACK)
|
||||
OpenGLStoredX (OGLSX, OGLSQt_FALLBACK, OGLSXm_FALLBACK)
|
||||
RayTracerX (RayTracerX)
|
||||
Qt3D (Qt3D)
|
||||
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
|
||||
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
|
||||
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
|
||||
|
||||
Registering model factories...
|
||||
|
||||
@@ -246,6 +250,7 @@ G4ScoringBox : boxMesh_4 --- Shape: Box mesh
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 0
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
@@ -263,7 +268,7 @@ Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
@@ -273,8 +278,9 @@ Step function for light ions (0.1, 0.02 mm)
|
||||
Step function for general ions (0.1, 0.001 mm)
|
||||
Lowest e+e- kinetic energy 100 eV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Use ICRU90 data 1
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 0
|
||||
Type of fluctuation model 2
|
||||
Use built-in Birks satuaration 0
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
@@ -354,10 +360,10 @@ msc: for e- SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV
|
||||
StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
eIoni: for e- XStype:1 SubType=2
|
||||
eIoni: for e- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.01 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.01 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
LowEnergyIoni : Emin= 0 eV Emax= 100 keV deltaVI
|
||||
MollerBhabha : Emin= 100 keV Emax= 100 TeV deltaVI
|
||||
@@ -390,10 +396,10 @@ msc: for e+ SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=120 100 MeV - 100 TeV
|
||||
StepLim=SafetyPlus Rfact=0.08 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
eIoni: for e+ XStype:1 SubType=2
|
||||
eIoni: for e+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.01 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.01 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
|
||||
@@ -427,10 +433,10 @@ msc: for proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:1 SubType=2
|
||||
hIoni: for proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV deltaVI
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV deltaVI
|
||||
@@ -440,6 +446,7 @@ hBrems: for proton XStype:1 SubType=3
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
===== Limit on energy threshold has been applied
|
||||
|
||||
hPairProd: for proton XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
@@ -463,12 +470,12 @@ msc: for GenericIon SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
ionIoni: for GenericIon XStype:1 SubType=2
|
||||
ionIoni: for GenericIon XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.02 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.1, 0.02 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ParamICRU73 : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
LindhardSorensen : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
|
||||
nuclearStopping: for GenericIon SubType=8 BuildTable=0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
@@ -476,7 +483,8 @@ nuclearStopping: for GenericIon SubType=8 BuildTable=0
|
||||
======================================================================
|
||||
====== Radioactive Decay Physics Parameters =======
|
||||
======================================================================
|
||||
Max life time 1.4427e+06 ps
|
||||
min MeanLife (from G4NuclideTable) 1.4427 us
|
||||
Max life time (from G4DeexPrecoParameters) 1.4427 us
|
||||
Internal e- conversion flag 1
|
||||
Stored internal conversion coefficients 1
|
||||
Enable correlated gamma emission 0
|
||||
@@ -486,7 +494,7 @@ Auger electron emission enabled 1
|
||||
Check EM cuts disabled for atomic de-excitation 1
|
||||
Use Bearden atomic level energies 0
|
||||
Use ANSTO fluorescence model 0
|
||||
Threshold for very long decay time at rest 1e+27 ns
|
||||
Threshold for very long decay time at rest 3.171e+10 y
|
||||
======================================================================
|
||||
|
||||
msc: for alpha SubType= 10
|
||||
@@ -494,10 +502,10 @@ msc: for alpha SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
ionIoni: for alpha XStype:1 SubType=2
|
||||
ionIoni: for alpha XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.02 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.1, 0.02 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax=7.9452 MeV deltaVI
|
||||
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV deltaVI
|
||||
@@ -511,10 +519,10 @@ msc: for anti_proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:1 SubType=2
|
||||
hIoni: for anti_proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV deltaVI
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV deltaVI
|
||||
@@ -524,6 +532,7 @@ hBrems: for anti_proton XStype:1 SubType=3
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
===== Limit on energy threshold has been applied
|
||||
|
||||
hPairProd: for anti_proton XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
@@ -543,10 +552,10 @@ msc: for kaon+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for kaon+ XStype:1 SubType=2
|
||||
hIoni: for kaon+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=1.05231 MeV deltaVI
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV deltaVI
|
||||
@@ -556,6 +565,7 @@ hBrems: for kaon+ XStype:1 SubType=3
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
===== Limit on energy threshold has been applied
|
||||
|
||||
hPairProd: for kaon+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
@@ -575,10 +585,10 @@ msc: for kaon- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for kaon- XStype:1 SubType=2
|
||||
hIoni: for kaon- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=1.05231 MeV deltaVI
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV deltaVI
|
||||
@@ -588,6 +598,7 @@ hBrems: for kaon- XStype:1 SubType=3
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
===== Limit on energy threshold has been applied
|
||||
|
||||
hPairProd: for kaon- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
@@ -607,25 +618,25 @@ msc: for mu+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
muIoni: for mu+ XStype:1 SubType=2
|
||||
muIoni: for mu+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 200 keV deltaVI
|
||||
BetheBloch : Emin= 200 keV Emax= 1 GeV deltaVI
|
||||
MuBetheBloch : Emin= 1 GeV Emax= 100 TeV
|
||||
MuBetheBloch : Emin= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
===== Limit on energy threshold has been applied
|
||||
|
||||
muPairProd: for mu+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -640,25 +651,25 @@ msc: for mu- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
muIoni: for mu- XStype:1 SubType=2
|
||||
muIoni: for mu- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 200 keV deltaVI
|
||||
BetheBloch : Emin= 200 keV Emax= 1 GeV deltaVI
|
||||
MuBetheBloch : Emin= 1 GeV Emax= 100 TeV
|
||||
MuBetheBloch : Emin= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
===== Limit on energy threshold has been applied
|
||||
|
||||
muPairProd: for mu- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -673,10 +684,10 @@ msc: for pi+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for pi+ XStype:1 SubType=2
|
||||
hIoni: for pi+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=297.505 keV deltaVI
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV deltaVI
|
||||
@@ -686,6 +697,7 @@ hBrems: for pi+ XStype:1 SubType=3
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
===== Limit on energy threshold has been applied
|
||||
|
||||
hPairProd: for pi+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
@@ -705,10 +717,10 @@ msc: for pi- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=3 Llim=1 mm
|
||||
|
||||
hIoni: for pi- XStype:1 SubType=2
|
||||
hIoni: for pi- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.1, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=297.505 keV deltaVI
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV deltaVI
|
||||
@@ -718,6 +730,7 @@ hBrems: for pi- XStype:1 SubType=3
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
===== Limit on energy threshold has been applied
|
||||
|
||||
hPairProd: for pi- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 240 bins
|
||||
@@ -737,28 +750,28 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Index : 0 used in the geometry : Yes
|
||||
Material : G4_AIR
|
||||
Range cuts : gamma 50 um e- 50 um e+ 50 um proton 50 um
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 5 keV
|
||||
Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV proton 5 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 1 used in the geometry : Yes
|
||||
Material : G4_WATER
|
||||
Range cuts : gamma 50 um e- 50 um e+ 50 um proton 50 um
|
||||
Energy thresholds : gamma 1 keV e- 57.0166 keV e+ 56.3668 keV proton 5 keV
|
||||
Energy thresholds : gamma 250 eV e- 57.1127 keV e+ 56.4729 keV proton 5 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 2 used in the geometry : Yes
|
||||
Material : Stainless steel 304
|
||||
Range cuts : gamma 50 um e- 50 um e+ 50 um proton 50 um
|
||||
Energy thresholds : gamma 4.35516 keV e- 154.603 keV e+ 151.164 keV proton 5 keV
|
||||
Energy thresholds : gamma 4.35412 keV e- 154.671 keV e+ 151.2 keV proton 5 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 3 used in the geometry : Yes
|
||||
Material : G4_Ir
|
||||
Range cuts : gamma 50 um e- 50 um e+ 50 um proton 50 um
|
||||
Energy thresholds : gamma 26.6596 keV e- 242.241 keV e+ 234.176 keV proton 5 keV
|
||||
Energy thresholds : gamma 26.6603 keV e- 242.289 keV e+ 234.254 keV proton 5 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
@@ -771,9 +784,10 @@ Using
|
||||
number of events = 5000
|
||||
... write file : primary.root - done
|
||||
... close file : primary.root - done
|
||||
0 events have been kept for refreshing and/or reviewing.
|
||||
"/vis/reviewKeptEvents" to review them one by one.
|
||||
"/vis/enable", then "/vis/viewer/flush" or "/vis/viewer/rebuild" to see them accumulated.
|
||||
There is 1 h1 histogram
|
||||
0 with 0 entries: energy spectrum
|
||||
List them with "/analysis/list".
|
||||
View them with "/vis/plot" or "/vis/reviewPlots".
|
||||
/score/dumpQuantityToFile boxMesh_4 eDep EnergyDeposition_Flexi.out
|
||||
... create file : brachytherapy.root - done
|
||||
... open analysis file : brachytherapy.root - done
|
||||
|
||||
@@ -52,7 +52,7 @@ class BrachyDetectorConstructionFlexi
|
||||
{
|
||||
public:
|
||||
explicit BrachyDetectorConstructionFlexi();
|
||||
~BrachyDetectorConstructionFlexi();
|
||||
~BrachyDetectorConstructionFlexi()=default;
|
||||
|
||||
void ConstructFlexi(G4VPhysicalVolume*);
|
||||
// Model the Flexi iridium source
|
||||
|
||||
@@ -50,7 +50,7 @@ class BrachyDetectorConstructionI
|
||||
{
|
||||
public:
|
||||
explicit BrachyDetectorConstructionI();
|
||||
~BrachyDetectorConstructionI();
|
||||
~BrachyDetectorConstructionI() = default;
|
||||
void ConstructIodine(G4VPhysicalVolume*);// Construct iodine source
|
||||
void CleanIodine(); // Clean iodine source
|
||||
private:
|
||||
|
||||
@@ -52,7 +52,7 @@ class BrachyDetectorConstructionLeipzig
|
||||
{
|
||||
public:
|
||||
BrachyDetectorConstructionLeipzig();
|
||||
~BrachyDetectorConstructionLeipzig();
|
||||
~BrachyDetectorConstructionLeipzig()=default;
|
||||
void ConstructLeipzig(G4VPhysicalVolume*);
|
||||
void CleanLeipzigApplicator();
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ class BrachyDetectorConstructionOncura6711
|
||||
{
|
||||
public:
|
||||
explicit BrachyDetectorConstructionOncura6711();
|
||||
~BrachyDetectorConstructionOncura6711();
|
||||
~BrachyDetectorConstructionOncura6711()=default;
|
||||
|
||||
void ConstructOncura6711(G4VPhysicalVolume*);
|
||||
// Model the Oncura 6711 reference source
|
||||
|
||||
@@ -52,7 +52,7 @@ class BrachyDetectorConstructionTG186
|
||||
{
|
||||
public:
|
||||
explicit BrachyDetectorConstructionTG186();
|
||||
~BrachyDetectorConstructionTG186();
|
||||
~BrachyDetectorConstructionTG186()=default;
|
||||
|
||||
void ConstructTG186(G4VPhysicalVolume*);
|
||||
// Model the TG186 reference source
|
||||
|
||||
@@ -39,8 +39,8 @@ class G4Run;
|
||||
class BrachyRunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
explicit BrachyRunAction();
|
||||
~BrachyRunAction();
|
||||
explicit BrachyRunAction()=default;
|
||||
~BrachyRunAction() override =default;
|
||||
|
||||
public:
|
||||
void BeginOfRunAction(const G4Run*) override;
|
||||
|
||||
@@ -35,8 +35,8 @@ class BrachySteppingAction: public G4UserSteppingAction
|
||||
{
|
||||
public:
|
||||
|
||||
explicit BrachySteppingAction();
|
||||
~BrachySteppingAction();
|
||||
explicit BrachySteppingAction()=default;
|
||||
~BrachySteppingAction()override=default;
|
||||
|
||||
void UserSteppingAction(const G4Step*) override;
|
||||
};
|
||||
|
||||
@@ -45,12 +45,10 @@ void BrachyActionInitialization::BuildForMaster() const
|
||||
|
||||
void BrachyActionInitialization::Build() const
|
||||
{
|
||||
BrachyPrimaryGeneratorAction* primary = new BrachyPrimaryGeneratorAction();
|
||||
SetUserAction(primary);
|
||||
SetUserAction(new BrachyPrimaryGeneratorAction());
|
||||
|
||||
SetUserAction(new BrachyRunAction());
|
||||
|
||||
BrachySteppingAction* stepping = new BrachySteppingAction();
|
||||
SetUserAction(stepping);
|
||||
SetUserAction(new BrachySteppingAction());
|
||||
}
|
||||
|
||||
|
||||
@@ -179,17 +179,17 @@ void BrachyDetectorConstruction::ConstructPhantom()
|
||||
|
||||
// World volume
|
||||
fWorld = new G4Box("World", fWorldSizeX, fWorldSizeY, fWorldSizeZ);
|
||||
fWorldLog = new G4LogicalVolume(fWorld,air,"WorldLog",0,0,0);
|
||||
fWorldPhys = new G4PVPlacement(0,G4ThreeVector(),"WorldPhys",fWorldLog,0,false,0);
|
||||
fWorldLog = new G4LogicalVolume(fWorld,air,"WorldLog",nullptr,nullptr,nullptr);
|
||||
fWorldPhys = new G4PVPlacement(nullptr,G4ThreeVector(),"WorldPhys",fWorldLog,nullptr,false,0);
|
||||
|
||||
// Water Box
|
||||
fPhantom = new G4Box("Phantom", fPhantomSizeX, fPhantomSizeY, fPhantomSizeZ);
|
||||
|
||||
// Logical volume
|
||||
fPhantomLog = new G4LogicalVolume(fPhantom,water,"PhantomLog",0,0,0);
|
||||
fPhantomLog = new G4LogicalVolume(fPhantom,water,"PhantomLog",nullptr,nullptr,nullptr);
|
||||
|
||||
// Physical volume
|
||||
fPhantomPhys = new G4PVPlacement(0,G4ThreeVector(), // Position: rotation and translation
|
||||
fPhantomPhys = new G4PVPlacement(nullptr,G4ThreeVector(), // Position: rotation and translation
|
||||
"PhantomPhys", // Name
|
||||
fPhantomLog, // Associated logical volume
|
||||
fWorldPhys, // Mother volume
|
||||
@@ -198,7 +198,7 @@ void BrachyDetectorConstruction::ConstructPhantom()
|
||||
fWorldLog -> SetVisAttributes (G4VisAttributes::GetInvisible());
|
||||
|
||||
// Visualization attributes of the phantom
|
||||
G4VisAttributes* simpleBoxVisAtt = new G4VisAttributes(lblue);
|
||||
auto simpleBoxVisAtt = new G4VisAttributes(lblue);
|
||||
simpleBoxVisAtt -> SetVisibility(true);
|
||||
simpleBoxVisAtt -> SetForceWireframe(true);
|
||||
fPhantomLog -> SetVisAttributes(simpleBoxVisAtt);
|
||||
|
||||
@@ -64,9 +64,6 @@ BrachyDetectorConstructionFlexi::BrachyDetectorConstructionFlexi()
|
||||
fSteelAttributes(nullptr), fEndAttributes(nullptr), fSimpleIridiumVisAtt(nullptr)
|
||||
{}
|
||||
|
||||
BrachyDetectorConstructionFlexi::~BrachyDetectorConstructionFlexi()
|
||||
{}
|
||||
|
||||
void BrachyDetectorConstructionFlexi::ConstructFlexi(G4VPhysicalVolume* mother)
|
||||
{
|
||||
G4NistManager* nist = G4NistManager::Instance();
|
||||
@@ -84,7 +81,7 @@ void BrachyDetectorConstructionFlexi::ConstructFlexi(G4VPhysicalVolume* mother)
|
||||
G4Element* elNi = nist -> FindOrBuildElement(Z=28);
|
||||
|
||||
constexpr G4double d = 7.999*g/cm3;
|
||||
G4Material* steelMat = new G4Material("Stainless steel 304",d,6);
|
||||
auto steelMat = new G4Material("Stainless steel 304",d,6);
|
||||
steelMat -> AddElement(elMn, 0.02);
|
||||
steelMat -> AddElement(elSi, 0.01);
|
||||
steelMat -> AddElement(elCr, 0.19);
|
||||
@@ -98,7 +95,7 @@ void BrachyDetectorConstructionFlexi::ConstructFlexi(G4VPhysicalVolume* mother)
|
||||
G4double shellr_max = 0.85 * mm;
|
||||
G4double shell_length = 3.6 * mm;
|
||||
fSteelShell = new G4Tubs("steel_shell",shellr_min, shellr_max/2, shell_length/2.,0.*deg,360.*deg);
|
||||
fLogicalSteelShell = new G4LogicalVolume(fSteelShell, steelMat, "steel_shell_log", 0, 0, 0);
|
||||
fLogicalSteelShell = new G4LogicalVolume(fSteelShell, steelMat, "steel_shell_log", nullptr, nullptr, nullptr);
|
||||
fPhysicalSteelShell = new G4PVPlacement(nullptr,G4ThreeVector(0,0,0),"phys_steel_shell", fLogicalSteelShell, mother, false, 0, true);
|
||||
|
||||
//Define dimensions of the air gap between Steel shell and Iridium core
|
||||
@@ -106,7 +103,7 @@ void BrachyDetectorConstructionFlexi::ConstructFlexi(G4VPhysicalVolume* mother)
|
||||
G4double airr_max = 0.67 * mm;
|
||||
G4double air_length = 3.6 * mm;
|
||||
fAirGap = new G4Tubs("air_gap", airr_min, airr_max/2, air_length/2, 0.*deg, 360.*deg);
|
||||
fLogicalAirGap = new G4LogicalVolume(fAirGap, airMat, "air_gap_log", 0, 0, 0);
|
||||
fLogicalAirGap = new G4LogicalVolume(fAirGap, airMat, "air_gap_log", nullptr, nullptr, nullptr);
|
||||
fPhysicalAirGap = new G4PVPlacement(nullptr, G4ThreeVector(0,0,0), "phys_air_gap", fLogicalAirGap, fPhysicalSteelShell, false, 0, true);
|
||||
|
||||
//Define the non-cable weld end of the Steel shell
|
||||
@@ -114,7 +111,7 @@ void BrachyDetectorConstructionFlexi::ConstructFlexi(G4VPhysicalVolume* mother)
|
||||
G4double end1r_max = 0.85 * mm;
|
||||
G4double end1length = 0.65 * mm;
|
||||
fEnd1SteelShell = new G4Tubs("End_1_steel_shell", end1r_min, end1r_max/2, end1length/2.,0.*deg,360.*deg);
|
||||
fLogicalEnd1SteelShell = new G4LogicalVolume(fEnd1SteelShell, steelMat, "End1_steel_shell_log", 0, 0, 0);
|
||||
fLogicalEnd1SteelShell = new G4LogicalVolume(fEnd1SteelShell, steelMat, "End1_steel_shell_log", nullptr, nullptr, nullptr);
|
||||
G4double end1offset_x = 0.0 * mm;
|
||||
G4double end1offset_y = 0.0 * mm;
|
||||
G4double end1offset_z = 2.125 * mm;
|
||||
@@ -127,7 +124,7 @@ void BrachyDetectorConstructionFlexi::ConstructFlexi(G4VPhysicalVolume* mother)
|
||||
G4double end2r_max2 = 0.5 * mm;
|
||||
G4double end2length = 0.4 * mm;
|
||||
fEnd2SteelShell = new G4Cons("End_2_steel_shell", end2r_min2, end2r_max2/2, end2r_min1, end2r_max1/2, end2length/2.0, 0.0, 360.0*deg);
|
||||
fLogicalEnd2SteelShell = new G4LogicalVolume(fEnd2SteelShell, steelMat, "End2_steel_shell_log", 0, 0, 0);
|
||||
fLogicalEnd2SteelShell = new G4LogicalVolume(fEnd2SteelShell, steelMat, "End2_steel_shell_log", nullptr, nullptr, nullptr);
|
||||
G4double end2offset_x = 0.0 * mm;
|
||||
G4double end2offset_y = 0.0 * mm;
|
||||
G4double end2offset_z = -2.0 * mm;
|
||||
@@ -138,7 +135,7 @@ void BrachyDetectorConstructionFlexi::ConstructFlexi(G4VPhysicalVolume* mother)
|
||||
G4double cable_max = 0.5 * mm;
|
||||
G4double cablelength = 5.0 * mm;
|
||||
fCable = new G4Tubs("cable",cable_min, cable_max/2, cablelength/2.,0.*deg,360.*deg);
|
||||
fLogicalCable = new G4LogicalVolume(fCable, steelMat, "cable_log", 0, 0, 0);
|
||||
fLogicalCable = new G4LogicalVolume(fCable, steelMat, "cable_log", nullptr, nullptr, nullptr);
|
||||
G4double cableoffset_x = 0.0 * mm;
|
||||
G4double cableoffset_y = 0.0 * mm;
|
||||
G4double cableoffset_z = -4.7 * mm;
|
||||
@@ -149,7 +146,7 @@ void BrachyDetectorConstructionFlexi::ConstructFlexi(G4VPhysicalVolume* mother)
|
||||
G4double corer_max = 0.6 * mm;
|
||||
G4double core_length = 3.5 * mm;
|
||||
fIridiumCore = new G4Tubs("iridium_core",corer_min, corer_max/2,core_length/2.,0.*deg,360.*deg);
|
||||
fLogicalIridiumCore = new G4LogicalVolume(fIridiumCore, iridiumMat, "iridium_core_log", 0, 0, 0);
|
||||
fLogicalIridiumCore = new G4LogicalVolume(fIridiumCore, iridiumMat, "iridium_core_log", nullptr, nullptr, nullptr);
|
||||
fPhysicalIridiumCore = new G4PVPlacement(nullptr,G4ThreeVector(0,0,0), "phys_iridium_core", fLogicalIridiumCore, fPhysicalAirGap, false, 0, true);
|
||||
|
||||
// Visualisations
|
||||
|
||||
@@ -63,9 +63,6 @@ fCapsulePhys(nullptr),fCapsuleTipPhys1(nullptr),fCapsuleTipPhys2(nullptr), fIodi
|
||||
fSimpleIodineVisAtt(nullptr), fSimpleCapsuleVisAtt(nullptr), fSimpleCapsuleTipVisAtt(nullptr)
|
||||
{}
|
||||
|
||||
BrachyDetectorConstructionI::~BrachyDetectorConstructionI()
|
||||
{}
|
||||
|
||||
void BrachyDetectorConstructionI::ConstructIodine(G4VPhysicalVolume* mother)
|
||||
{
|
||||
// Model of the Bebig Isoseed I-125 brachy source
|
||||
@@ -116,7 +113,7 @@ void BrachyDetectorConstructionI::ConstructIodine(G4VPhysicalVolume* mother)
|
||||
false,
|
||||
0, true);
|
||||
|
||||
G4RotationMatrix* rotateMatrix = new G4RotationMatrix();
|
||||
auto rotateMatrix = new G4RotationMatrix();
|
||||
rotateMatrix -> rotateX(180.0*deg);
|
||||
fCapsuleTipPhys2 = new G4PVPlacement(rotateMatrix,
|
||||
G4ThreeVector(0,0,-1.84*mm),
|
||||
|
||||
@@ -62,9 +62,6 @@ fApplicator2Log(nullptr), fCapsulePhys(nullptr), fCapsuleTipPhys(nullptr), fIrid
|
||||
fApplicator1Phys(nullptr), fApplicator2Phys(nullptr)
|
||||
{}
|
||||
|
||||
BrachyDetectorConstructionLeipzig::~BrachyDetectorConstructionLeipzig()
|
||||
{}
|
||||
|
||||
void BrachyDetectorConstructionLeipzig::ConstructLeipzig(G4VPhysicalVolume* mother)
|
||||
{
|
||||
G4Colour red (1.0, 0.0, 0.0) ;
|
||||
@@ -82,7 +79,7 @@ void BrachyDetectorConstructionLeipzig::ConstructLeipzig(G4VPhysicalVolume* mot
|
||||
G4Element* elCr = nist -> FindOrBuildElement(Z=24);
|
||||
G4Element* elFe = nist -> FindOrBuildElement(Z=26);
|
||||
G4Element* elNi = nist -> FindOrBuildElement(Z=28);
|
||||
G4Material* steel = new G4Material("Stainless steel",d,5);
|
||||
auto steel = new G4Material("Stainless steel",d,5);
|
||||
steel -> AddElement(elMn, 0.02);
|
||||
steel -> AddElement(elSi, 0.01);
|
||||
steel -> AddElement(elCr, 0.19);
|
||||
|
||||
@@ -72,9 +72,6 @@ BrachyDetectorConstructionOncura6711::BrachyDetectorConstructionOncura6711()
|
||||
fOncuraSilverCoreVisAtt(nullptr)
|
||||
{}
|
||||
|
||||
BrachyDetectorConstructionOncura6711::~BrachyDetectorConstructionOncura6711()
|
||||
{}
|
||||
|
||||
void BrachyDetectorConstructionOncura6711::ConstructOncura6711(G4VPhysicalVolume* mother)
|
||||
{
|
||||
G4Colour red (1.0, 0.0, 0.0) ;
|
||||
@@ -87,21 +84,21 @@ G4Material* silver = nist -> FindOrBuildMaterial("G4_Ag");
|
||||
|
||||
//Capsule shell
|
||||
fOncuraCapsule = new G4Tubs("OncuraCapsule",0,0.4*mm,1.875*mm,0.*deg,360.*deg);
|
||||
fOncuraCapsuleLog = new G4LogicalVolume(fOncuraCapsule,titanium,"OncuraCapsuleLog", 0,0,0);
|
||||
fOncuraCapsuleLog = new G4LogicalVolume(fOncuraCapsule,titanium,"OncuraCapsuleLog", nullptr,nullptr,nullptr);
|
||||
fOncuraCapsulePhys = new G4PVPlacement(nullptr, G4ThreeVector(0,0,0),
|
||||
"OncuraCapsulePhys", fOncuraCapsuleLog,
|
||||
mother, false, 0, true);
|
||||
|
||||
//Capsule tips
|
||||
fOncuraCapsuleTip1 = new G4Sphere("OncuraCapsuleTip1", 0, 0.4*mm, 0., 360*deg, 0., 90*deg);
|
||||
fOncuraCapsuleTip1Log = new G4LogicalVolume(fOncuraCapsuleTip1, titanium, "OncuraCapsuleTip1Log",0,0,0);
|
||||
fOncuraCapsuleTip1Log = new G4LogicalVolume(fOncuraCapsuleTip1, titanium, "OncuraCapsuleTip1Log",nullptr,nullptr,nullptr);
|
||||
fOncuraCapsuleTip1Phys = new G4PVPlacement(nullptr, G4ThreeVector(0,0,1.875*mm),
|
||||
"OncuraCapsuleTip1Phys", fOncuraCapsuleTip1Log,
|
||||
mother, false,
|
||||
0, true);
|
||||
|
||||
fOncuraCapsuleTip2 = new G4Sphere("OncuraCapsuleTip2", 0, 0.4*mm, 0., 360*deg, 90*deg, 90*deg);
|
||||
fOncuraCapsuleTip2Log = new G4LogicalVolume(fOncuraCapsuleTip2, titanium, "OncuraCapsuleTip2Log",0,0,0);
|
||||
fOncuraCapsuleTip2Log = new G4LogicalVolume(fOncuraCapsuleTip2, titanium, "OncuraCapsuleTip2Log", nullptr,nullptr,nullptr);
|
||||
fOncuraCapsuleTip2Phys = new G4PVPlacement(nullptr, G4ThreeVector(0,0,-1.875*mm),
|
||||
"OncuraCapsuleTip2Phys", fOncuraCapsuleTip2Log,
|
||||
mother, false,
|
||||
|
||||
@@ -68,16 +68,13 @@ BrachyDetectorConstructionTG186::BrachyDetectorConstructionTG186():
|
||||
fTG186simpleCableVisAtt(nullptr)
|
||||
{}
|
||||
|
||||
BrachyDetectorConstructionTG186::~BrachyDetectorConstructionTG186()
|
||||
{}
|
||||
|
||||
void BrachyDetectorConstructionTG186::ConstructTG186(G4VPhysicalVolume* mother)
|
||||
{
|
||||
G4Colour red (1.0, 0.0, 0.0) ;
|
||||
G4Colour magenta (1.0, 0.0, 1.0) ;
|
||||
|
||||
G4NistManager* nist = G4NistManager::Instance();
|
||||
G4Material* iridium = nist -> FindOrBuildMaterial("G4_Ir");
|
||||
auto iridium = nist -> FindOrBuildMaterial("G4_Ir");
|
||||
|
||||
// Stainless steel (Medical Physics, Vol 25, No 10, Oct 1998)
|
||||
constexpr G4double d = 8.02*g/cm3;
|
||||
@@ -87,7 +84,7 @@ void BrachyDetectorConstructionTG186::ConstructTG186(G4VPhysicalVolume* mother)
|
||||
G4Element* elCr = nist -> FindOrBuildElement(Z=24);
|
||||
G4Element* elFe = nist -> FindOrBuildElement(Z=26);
|
||||
G4Element* elNi = nist -> FindOrBuildElement(Z=28);
|
||||
G4Material* capsuleMat = new G4Material("Stainless steel",d,5);
|
||||
auto capsuleMat = new G4Material("Stainless steel",d,5);
|
||||
capsuleMat -> AddElement(elMn, 0.02);
|
||||
capsuleMat -> AddElement(elSi, 0.01);
|
||||
capsuleMat -> AddElement(elCr, 0.19);
|
||||
|
||||
@@ -49,12 +49,6 @@
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
BrachyRunAction::BrachyRunAction()
|
||||
{}
|
||||
|
||||
BrachyRunAction::~BrachyRunAction()
|
||||
{}
|
||||
|
||||
void BrachyRunAction::BeginOfRunAction(const G4Run* aRun)
|
||||
{
|
||||
G4cout << "### Run " << aRun -> GetRunID() << " start." << G4endl;
|
||||
|
||||
@@ -39,11 +39,6 @@
|
||||
#include "G4Gamma.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
BrachySteppingAction::BrachySteppingAction()
|
||||
{}
|
||||
|
||||
BrachySteppingAction::~BrachySteppingAction()
|
||||
{}
|
||||
|
||||
void BrachySteppingAction::UserSteppingAction(const G4Step* aStep)
|
||||
{
|
||||
|
||||
@@ -87,7 +87,7 @@ if(!ofile)
|
||||
// retrieve the map
|
||||
MeshScoreMap fSMap = fScoringMesh -> GetScoreMap();
|
||||
|
||||
MeshScoreMap::const_iterator msMapItr = fSMap.find(psName);
|
||||
auto msMapItr = fSMap.find(psName);
|
||||
|
||||
if(msMapItr == fSMap.end())
|
||||
{
|
||||
@@ -96,7 +96,7 @@ if(msMapItr == fSMap.end())
|
||||
return;
|
||||
}
|
||||
|
||||
std::map<G4int, G4StatDouble*> * score = msMapItr -> second-> GetMap();
|
||||
auto score = msMapItr-> second-> GetMap();
|
||||
|
||||
ofile << "# primitive scorer name: " << msMapItr -> first << G4endl;
|
||||
//
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
-------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
# Example composite_calorimeter History
|
||||
|
||||
=========================================================
|
||||
Geant4 - Composite calorimeter example
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top).
|
||||
It must **not** be used as a substitute for writing good git commit messages!
|
||||
|
||||
Example History file
|
||||
---------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
24.02.2022 - G. Cosmo (ccal-V10-07-07)
|
||||
## 2022-02-14 Gabriele Cosmo (ccal-V11-00-01)
|
||||
- Fixed compilation warnings on Intel-icx compiler for unused variables.
|
||||
|
||||
25.10.2021 - B. Morgan (ccal-V10-07-06)
|
||||
## 2021-12-10 Ben Morgan (ccal-V11-00-00)
|
||||
- Change to new Markdown History format.
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
25.10.2021 - B.Morgan (ccal-V10-07-06)
|
||||
- Use G4StrUtil functions replacing deprecated G4String member functions
|
||||
|
||||
18.10.2021 - B. Morgan (ccal-V10-07-05)
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -105,7 +105,8 @@ physicsList->setCut() start.
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use general process 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 1
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
X-section factor for integral approach 0.8
|
||||
@@ -122,7 +123,7 @@ Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
@@ -132,8 +133,9 @@ Step function for light ions (0.2, 0.1 mm)
|
||||
Step function for general ions (0.2, 0.1 mm)
|
||||
Lowest e+e- kinetic energy 1 keV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 0
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Type of fluctuation model 2
|
||||
Use built-in Birks satuaration 0
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
@@ -196,10 +198,10 @@ msc: for e- SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e- XStype:1 SubType=2
|
||||
eIoni: for e- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
@@ -224,10 +226,10 @@ msc: for e+ SubType= 10
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e+ XStype:1 SubType=2
|
||||
eIoni: for e+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
@@ -254,10 +256,10 @@ msc: for proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:1 SubType=2
|
||||
hIoni: for proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
@@ -286,10 +288,10 @@ msc: for GenericIon SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for GenericIon XStype:1 SubType=2
|
||||
ionIoni: for GenericIon XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
Stopping Power data for 17 ion/material pairs
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax= 2 MeV
|
||||
@@ -300,10 +302,10 @@ msc: for alpha SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for alpha XStype:1 SubType=2
|
||||
ionIoni: for alpha XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax=7.9452 MeV
|
||||
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV
|
||||
@@ -313,10 +315,10 @@ msc: for anti_proton SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:1 SubType=2
|
||||
hIoni: for anti_proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
@@ -345,10 +347,10 @@ msc: for kaon+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon+ XStype:1 SubType=2
|
||||
hIoni: for kaon+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
@@ -377,10 +379,10 @@ msc: for kaon- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon- XStype:1 SubType=2
|
||||
hIoni: for kaon- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
@@ -409,14 +411,13 @@ msc: for mu+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu+ XStype:1 SubType=2
|
||||
muIoni: for mu+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 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= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
@@ -427,7 +428,7 @@ muBrems: for mu+ XStype:1 SubType=3
|
||||
muPairProd: for mu+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -442,14 +443,13 @@ msc: for mu- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu- XStype:1 SubType=2
|
||||
muIoni: for mu- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 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= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
@@ -460,7 +460,7 @@ muBrems: for mu- XStype:1 SubType=3
|
||||
muPairProd: for mu- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -475,10 +475,10 @@ msc: for pi+ SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi+ XStype:1 SubType=2
|
||||
hIoni: for pi+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
@@ -507,10 +507,10 @@ msc: for pi- SubType= 10
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi- XStype:1 SubType=2
|
||||
hIoni: for pi- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
@@ -544,15 +544,18 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticCHIPS: 0 eV ---> 100 TeV
|
||||
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: neutronInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: nCapture
|
||||
Model: nRadCapture: 0 eV ---> 100 TeV
|
||||
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: nKiller
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -562,10 +565,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: B-Inelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for D-
|
||||
|
||||
@@ -573,10 +578,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: D-Inelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for GenericIon
|
||||
|
||||
@@ -585,6 +592,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for He3
|
||||
|
||||
@@ -592,11 +600,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: He3Inelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for alpha
|
||||
|
||||
@@ -604,11 +614,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: alphaInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for anti_He3
|
||||
|
||||
@@ -617,10 +629,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_He3Inelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -631,10 +645,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_alphaInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -645,10 +661,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_deuteronInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -658,10 +676,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: anti_lambdaInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -672,10 +692,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_neutronInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -686,10 +708,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_protonInelastic
|
||||
Model: FTFP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -700,10 +724,12 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: anti_tritonInelastic
|
||||
Model: FTFP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: hFritiofCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -713,11 +739,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: dInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for e+
|
||||
|
||||
@@ -725,6 +753,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for e-
|
||||
|
||||
@@ -732,6 +761,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for gamma
|
||||
|
||||
@@ -741,6 +771,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
|
||||
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for kaon+
|
||||
|
||||
@@ -748,11 +779,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: kaon+Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for kaon-
|
||||
|
||||
@@ -760,11 +793,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: kaon-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -774,11 +809,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: lambdaInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for mu+
|
||||
|
||||
@@ -786,6 +823,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for mu-
|
||||
|
||||
@@ -793,6 +831,7 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
|
||||
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: muMinusCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -802,11 +841,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticGlauber: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: pi+Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for pi-
|
||||
|
||||
@@ -814,11 +855,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticGlauber: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: pi-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -828,11 +871,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticCHIPS: 0 eV ---> 100 TeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: protonInelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
Hadronic Processes for sigma-
|
||||
|
||||
@@ -840,11 +885,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV ---> 100 TeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: sigma-Inelastic
|
||||
Model: FTFP: 3 GeV ---> 100 TeV
|
||||
Model: BertiniCascade: 0 eV ---> 6 GeV
|
||||
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
|
||||
|
||||
|
||||
Process: hBertiniCaptureAtRest
|
||||
|
||||
---------------------------------------------------
|
||||
@@ -854,11 +901,13 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
Process: tInelastic
|
||||
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
|
||||
Model: FTFP: 3 GeV/n ---> 100 TeV/n
|
||||
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
|
||||
|
||||
|
||||
================================================================
|
||||
### G4LevelReader: broken transition 0 from level 24 to 24 for isotope Z= 89 A= 219 - use ground level
|
||||
=======================================================================
|
||||
@@ -866,18 +915,18 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
|
||||
=======================================================================
|
||||
Type of pre-compound inverse x-section 3
|
||||
Pre-compound model active 1
|
||||
Pre-compound excitation low energy (MeV) 0.1
|
||||
Pre-compound excitation high energy (MeV) 30
|
||||
Pre-compound excitation low energy 100 keV
|
||||
Pre-compound excitation high energy 30 MeV
|
||||
Type of de-excitation inverse x-section 3
|
||||
Type of de-excitation factory Evaporation+GEM
|
||||
Number of de-excitation channels 68
|
||||
Min excitation energy (keV) 0.01
|
||||
Min energy per nucleon for multifragmentation (MeV) 2e+05
|
||||
Limit excitation energy for Fermi BreakUp (MeV) 20
|
||||
Min excitation energy 10 eV
|
||||
Min energy per nucleon for multifragmentation 200 GeV
|
||||
Limit excitation energy for Fermi BreakUp 20 MeV
|
||||
Level density (1/MeV) 0.075
|
||||
Use simple level density model 1
|
||||
Use discrete excitation energy of the residual 0
|
||||
Time limit for long lived isomeres (ns) 1
|
||||
Use discrete excitation energy of the residual 1
|
||||
Time limit for long lived isomeres 1 ns
|
||||
Isomer production flag 1
|
||||
Internal e- conversion flag 1
|
||||
Store e- internal conversion data 0
|
||||
@@ -903,42 +952,42 @@ Region <DefaultRegionForParallelWorld> -- -- is not associated to any world.
|
||||
Index : 0 used in the geometry : Yes
|
||||
Material : Air
|
||||
Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 70 keV
|
||||
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 70 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 1 used in the geometry : Yes
|
||||
Material : Aluminium
|
||||
Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um
|
||||
Energy thresholds : gamma 5.84837 keV e- 461.336 keV e+ 445.232 keV proton 70 keV
|
||||
Energy thresholds : gamma 5.84824 keV e- 461.329 keV e+ 445.233 keV proton 70 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 2 used in the geometry : Yes
|
||||
Material : Polystyrene
|
||||
Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um
|
||||
Energy thresholds : gamma 2.09794 keV e- 281.784 keV e+ 274.958 keV proton 70 keV
|
||||
Energy thresholds : gamma 2.09748 keV e- 281.786 keV e+ 274.951 keV proton 70 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 3 used in the geometry : Yes
|
||||
Material : Scintillator
|
||||
Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um
|
||||
Energy thresholds : gamma 2.09794 keV e- 281.784 keV e+ 274.958 keV proton 70 keV
|
||||
Energy thresholds : gamma 2.09748 keV e- 281.786 keV e+ 274.951 keV proton 70 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 4 used in the geometry : Yes
|
||||
Material : Copper
|
||||
Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um
|
||||
Energy thresholds : gamma 20.5442 keV e- 1.03402 MeV e+ 979.817 keV proton 70 keV
|
||||
Energy thresholds : gamma 20.5458 keV e- 1.03402 MeV e+ 979.819 keV proton 70 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 5 used in the geometry : Yes
|
||||
Material : E_PbWO4
|
||||
Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um
|
||||
Energy thresholds : gamma 75.7807 keV e- 842.499 keV e+ 797.838 keV proton 70 keV
|
||||
Energy thresholds : gamma 75.7771 keV e- 842.498 keV e+ 797.834 keV proton 70 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
@@ -1029,7 +1078,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 20
|
||||
User=19.120000s Real=19.370654s Sys=0.010000s
|
||||
User=15.890000s Real=16.088186s Sys=0.010000s
|
||||
### Run 0 end.
|
||||
... write file : ccal.root - done
|
||||
... close file : ccal.root - done
|
||||
@@ -1047,11 +1096,12 @@ G4SDManager deleted.
|
||||
EventManager deleted.
|
||||
Units table cleared.
|
||||
TransportationManager deleted.
|
||||
Total navigation history collections cleaned: 49
|
||||
Total navigation history collections cleaned: 52
|
||||
G4RNGHelper object is deleted.
|
||||
================== Deleting memory pools ===================
|
||||
Pool ID '20G4NavigationLevelRep', size : 0.0692 MB
|
||||
Pool ID '20G4NavigationLevelRep', size : 0.0779 MB
|
||||
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.0461 MB
|
||||
Pool ID '16G4SmartVoxelNode', size : 0.00769 MB
|
||||
Pool ID '17G4SmartVoxelProxy', size : 0.00385 MB
|
||||
Pool ID '7G4Event', size : 0.000961 MB
|
||||
@@ -1059,14 +1109,13 @@ Pool ID '15G4PrimaryVertex', size : 0.000961 MB
|
||||
Pool ID '17G4PrimaryParticle', size : 0.000961 MB
|
||||
Pool ID '15G4HCofThisEvent', size : 0.000961 MB
|
||||
Pool ID '16G4HitsCollection', size : 0.000961 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.211 MB
|
||||
Pool ID '7G4Track', size : 0.421 MB
|
||||
Pool ID '18G4TouchableHistory', size : 0.00577 MB
|
||||
Pool ID '7G4Track', size : 0.0913 MB
|
||||
Pool ID '18G4TouchableHistory', size : 0.00673 MB
|
||||
Pool ID '15G4CountedObjectIvE', size : 0.000961 MB
|
||||
Pool ID '17G4ReactionProduct', size : 0.0106 MB
|
||||
Pool ID '10G4Fragment', size : 0.00481 MB
|
||||
Pool ID '17G4ReactionProduct', size : 0.0144 MB
|
||||
Pool ID '10G4Fragment', size : 0.00673 MB
|
||||
Number of memory pools allocated: 15 of which, static: 0
|
||||
Dynamic pools deleted: 15 / Total memory freed: 0.74 MB
|
||||
Dynamic pools deleted: 15 / Total memory freed: 0.26 MB
|
||||
============================================================
|
||||
G4Allocator objects are deleted.
|
||||
UImanager deleted.
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
# Example doiPET History
|
||||
|
||||
=========================================================
|
||||
Geant4 - doiPET example
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top). It must **not**
|
||||
be used as a substitute for writing good git commit messages!
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
|
||||
## 2021-12-10 Ben Morgan (doiPET-V11-00-00)
|
||||
- Change to new Markdown History format
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
14.11.2021 - G. Cosmo;doiPET-V10-07-03
|
||||
- Fixed compilation warnings for unused private variables in
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -240,7 +240,8 @@ Checking overlaps for volume blockDetector_physicalV:159 (G4Box) ... OK!
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use general process 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 1
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
X-section factor for integral approach 0.8
|
||||
@@ -257,7 +258,7 @@ Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
@@ -267,8 +268,9 @@ Step function for light ions (0.1, 0.02 mm)
|
||||
Step function for general ions (0.1, 0.001 mm)
|
||||
Lowest e+e- kinetic energy 100 eV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 1
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Type of fluctuation model 2
|
||||
Use built-in Birks satuaration 0
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
@@ -322,7 +324,8 @@ Type of PIXE cross section for e+- Livermore
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use general process 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 1
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
X-section factor for integral approach 0.8
|
||||
@@ -339,7 +342,7 @@ Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
@@ -349,8 +352,9 @@ Step function for light ions (0.1, 0.02 mm)
|
||||
Step function for general ions (0.1, 0.001 mm)
|
||||
Lowest e+e- kinetic energy 100 eV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 1
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Type of fluctuation model 2
|
||||
Use built-in Birks satuaration 0
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
@@ -427,10 +431,10 @@ msc: for e- SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=SafetyPlus Rfact=0.03 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e- XStype:1 SubType=2
|
||||
eIoni: for e- XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
|
||||
@@ -454,10 +458,10 @@ msc: for e+ SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=SafetyPlus Rfact=0.03 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e+ XStype:1 SubType=2
|
||||
eIoni: for e+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
|
||||
@@ -485,10 +489,10 @@ msc: for proton SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:1 SubType=2
|
||||
hIoni: for proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV deltaVI
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV deltaVI
|
||||
@@ -512,7 +516,8 @@ nuclearStopping: for proton SubType=8 BuildTable=0
|
||||
======================================================================
|
||||
====== Radioactive Decay Physics Parameters =======
|
||||
======================================================================
|
||||
Max life time 1.4427e+06 ps
|
||||
min MeanLife (from G4NuclideTable) 1.4427 us
|
||||
Max life time (from G4DeexPrecoParameters) 1.4427 us
|
||||
Internal e- conversion flag 1
|
||||
Stored internal conversion coefficients 1
|
||||
Enable correlated gamma emission 0
|
||||
@@ -522,7 +527,7 @@ Auger electron emission enabled 1
|
||||
Check EM cuts disabled for atomic de-excitation 1
|
||||
Use Bearden atomic level energies 0
|
||||
Use ANSTO fluorescence model 0
|
||||
Threshold for very long decay time at rest 1e+27 ns
|
||||
Threshold for very long decay time at rest 3.171e+10 y
|
||||
======================================================================
|
||||
|
||||
msc: for GenericIon SubType= 10
|
||||
@@ -530,12 +535,12 @@ msc: for GenericIon SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for GenericIon XStype:1 SubType=2
|
||||
ionIoni: for GenericIon XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.02 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.1, 0.02 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ParamICRU73 : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
LindhardSorensen : Emin= 0 eV Emax= 100 TeV deltaVI
|
||||
|
||||
nuclearStopping: for GenericIon SubType=8 BuildTable=0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
@@ -546,10 +551,10 @@ msc: for alpha SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for alpha XStype:1 SubType=2
|
||||
ionIoni: for alpha XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.1, 0.02 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
StepFunction=(0.1, 0.02 mm), integ: 3, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 eV Emax=7.9452 MeV deltaVI
|
||||
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV deltaVI
|
||||
@@ -563,10 +568,10 @@ msc: for anti_proton SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:1 SubType=2
|
||||
hIoni: for anti_proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV deltaVI
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV deltaVI
|
||||
@@ -589,10 +594,10 @@ msc: for kaon+ SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon+ XStype:1 SubType=2
|
||||
hIoni: for kaon+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=1.05231 MeV deltaVI
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV deltaVI
|
||||
@@ -615,10 +620,10 @@ msc: for kaon- SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon- XStype:1 SubType=2
|
||||
hIoni: for kaon- XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=1.05231 MeV deltaVI
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV deltaVI
|
||||
@@ -641,14 +646,13 @@ msc: for mu+ SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu+ XStype:1 SubType=2
|
||||
muIoni: for mu+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 200 keV deltaVI
|
||||
BetheBloch : Emin= 200 keV Emax= 1 GeV deltaVI
|
||||
MuBetheBloch : Emin= 1 GeV Emax= 100 TeV
|
||||
MuBetheBloch : Emin= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
@@ -659,7 +663,7 @@ muBrems: for mu+ XStype:1 SubType=3
|
||||
muPairProd: for mu+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -668,14 +672,13 @@ msc: for mu- SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu- XStype:1 SubType=2
|
||||
muIoni: for mu- XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 200 keV deltaVI
|
||||
BetheBloch : Emin= 200 keV Emax= 1 GeV deltaVI
|
||||
MuBetheBloch : Emin= 1 GeV Emax= 100 TeV
|
||||
MuBetheBloch : Emin= 200 keV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu- XStype:1 SubType=3
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
@@ -686,7 +689,7 @@ muBrems: for mu- XStype:1 SubType=3
|
||||
muPairProd: for mu- XStype:1 SubType=4
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
Sampling table 21x1001 from 0.85 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
@@ -695,10 +698,10 @@ msc: for pi+ SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi+ XStype:1 SubType=2
|
||||
hIoni: for pi+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax=297.505 keV deltaVI
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV deltaVI
|
||||
@@ -721,10 +724,10 @@ msc: for pi- SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=240 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi- XStype:1 SubType=2
|
||||
hIoni: for pi- XStype:3 SubType=2
|
||||
dE/dx and range tables from 10 eV to 100 TeV in 260 bins
|
||||
Lambda tables from threshold to 100 TeV, 20 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.05 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.05 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax=297.505 keV deltaVI
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV deltaVI
|
||||
@@ -760,28 +763,28 @@ Region <DefaultRegionForParallelWorld> -- -- is not associated to any world.
|
||||
Index : 0 used in the geometry : Yes
|
||||
Material : G4_AIR
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 10 keV
|
||||
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 1 used in the geometry : Yes
|
||||
Material : G4_Al
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 2.34147 keV e- 131.214 keV e+ 128.744 keV proton 10 keV
|
||||
Energy thresholds : gamma 2.34157 keV e- 131.218 keV e+ 128.746 keV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 2 used in the geometry : Yes
|
||||
Material : G4_POLYETHYLENE
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 1 keV e- 85.2799 keV e+ 84.1824 keV proton 10 keV
|
||||
Energy thresholds : gamma 990 eV e- 85.2834 keV e+ 84.1805 keV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 3 used in the geometry : Yes
|
||||
Material : GSO
|
||||
Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um
|
||||
Energy thresholds : gamma 12.1658 keV e- 196.357 keV e+ 191.153 keV proton 10 keV
|
||||
Energy thresholds : gamma 12.1654 keV e- 196.364 keV e+ 191.144 keV proton 10 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
@@ -796,14 +799,14 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
|
||||
Voxelisation: top CPU users:
|
||||
Percent Total CPU System CPU Memory Volume
|
||||
------- ---------- ---------- -------- ----------
|
||||
100.00 0.01 0.00 69k world_logicalV
|
||||
0.00 0.00 0.00 406k airBox_logicalV
|
||||
100.00 0.01 0.00 406k airBox_logicalV
|
||||
0.00 0.00 0.00 69k world_logicalV
|
||||
|
||||
Voxelisation: top memory users:
|
||||
Percent Memory Heads Nodes Pointers Total CPU Volume
|
||||
------- -------- ------ ------ -------- ---------- ----------
|
||||
85.51 406k 931 5788 8898 0.00 airBox_logicalV
|
||||
14.49 68k 182 683 3080 0.01 world_logicalV
|
||||
85.51 406k 931 5788 8898 0.01 airBox_logicalV
|
||||
14.49 68k 182 683 3080 0.00 world_logicalV
|
||||
### Run 0 starts.
|
||||
### Begin of Run 0 start.
|
||||
|
||||
@@ -844,7 +847,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 1000000
|
||||
User=131.630000s Real=136.199126s Sys=1.870000s
|
||||
User=127.800000s Real=132.225331s Sys=1.910000s
|
||||
|
||||
### End of Run (1000000 events)
|
||||
G4 kernel has come to Quit state.
|
||||
@@ -860,23 +863,23 @@ G4SDManager deleted.
|
||||
EventManager deleted.
|
||||
Units table cleared.
|
||||
TransportationManager deleted.
|
||||
Total navigation history collections cleaned: 14
|
||||
Total navigation history collections cleaned: 13
|
||||
G4RNGHelper object is deleted.
|
||||
================== Deleting memory pools ===================
|
||||
Pool ID '20G4NavigationLevelRep', size : 0.0202 MB
|
||||
Pool ID '20G4NavigationLevelRep', size : 0.0183 MB
|
||||
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.0106 MB
|
||||
Pool ID '16G4SmartVoxelNode', size : 0.201 MB
|
||||
Pool ID '17G4SmartVoxelProxy', size : 0.116 MB
|
||||
Pool ID '7G4Event', size : 0.000961 MB
|
||||
Pool ID '15G4PrimaryVertex', size : 0.000961 MB
|
||||
Pool ID '17G4PrimaryParticle', size : 0.000961 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.0115 MB
|
||||
Pool ID '19G4ElectronOccupancy', size : 0.000961 MB
|
||||
Pool ID '7G4Track', size : 0.0221 MB
|
||||
Pool ID '7G4Track', size : 0.0211 MB
|
||||
Pool ID '18G4TouchableHistory', size : 0.00192 MB
|
||||
Pool ID '15G4CountedObjectIvE', size : 0.000961 MB
|
||||
Number of memory pools allocated: 12 of which, static: 0
|
||||
Dynamic pools deleted: 12 / Total memory freed: 0.38 MB
|
||||
Dynamic pools deleted: 12 / Total memory freed: 0.37 MB
|
||||
============================================================
|
||||
G4Allocator objects are deleted.
|
||||
UImanager deleted.
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
-------------------------------------------------------------------
|
||||
# Example eRosita History
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
|
||||
which **must** added in reverse chronological order (newest at the top).
|
||||
It must **not** be used as a substitute for writing good git commit messages!
|
||||
|
||||
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 *
|
||||
----------------------------------------------------------
|
||||
## 2022-05-16 Guilherme Amadio (eRosita-V11-00-02)
|
||||
- Replace getenv() calls for data variables with G4FindDataDir()
|
||||
|
||||
14.02.2022, G.Cosmo eRosita-V10-07-02
|
||||
eRositaTrackerSD: fixed compilation warning on Intel-icx compiler
|
||||
## 2022-02-14 Gabriele Cosmo (eRosita-V11-00-01)
|
||||
- eRositaTrackerSD: fixed compilation warning on Intel-icx compiler
|
||||
for unused variable.
|
||||
|
||||
## 2021-12-10 Ben Morgan (eRosita-V11-00-00)
|
||||
- Change to new Markdown History format.
|
||||
|
||||
---
|
||||
|
||||
# History entries prior to 11.0
|
||||
|
||||
12.05.2021, A.Polsini,F.Longo eRosita-V10-07-01
|
||||
Migration to multithreading (MT) mode
|
||||
|
||||
|
||||
@@ -1,52 +1,29 @@
|
||||
0.0830964
|
||||
0.0883819
|
||||
0.053096
|
||||
0.0755275
|
||||
0.0627224
|
||||
0.0980893
|
||||
0.0575166
|
||||
0.0805331
|
||||
0.0779987
|
||||
0.0735015
|
||||
0.0968243
|
||||
0.0736342
|
||||
0.00252187
|
||||
0.0624823
|
||||
0.00597738
|
||||
0.0989788
|
||||
0.0502061
|
||||
0.0461603
|
||||
0.0660617
|
||||
0.0640981
|
||||
0.0581482
|
||||
0.10329
|
||||
0.0415333
|
||||
0.0732444
|
||||
0.0469436
|
||||
0.0830888
|
||||
0.144989
|
||||
0.100607
|
||||
0.100274
|
||||
0.138546
|
||||
0.0686158
|
||||
0.0297888
|
||||
0.069119
|
||||
0.00118105
|
||||
0.108283
|
||||
0.0245092
|
||||
0.0605265
|
||||
0.082284
|
||||
0.0667456
|
||||
0.0263688
|
||||
0.0792581
|
||||
0.0829509
|
||||
0.0739482
|
||||
0.0815875
|
||||
0.0513099
|
||||
0.0692553
|
||||
0.0967222
|
||||
0.0789805
|
||||
0.047963
|
||||
0.076265
|
||||
0.0556749
|
||||
0.0917055
|
||||
0.0708145
|
||||
0.0450185
|
||||
0.0951968
|
||||
0.0935501
|
||||
0.0845822
|
||||
0.0448653
|
||||
0.0420327
|
||||
0.110209
|
||||
0.120244
|
||||
0.152311
|
||||
0.000292553
|
||||
0.0584627
|
||||
0.06141
|
||||
0.0429524
|
||||
0.0733428
|
||||
0.067259
|
||||
0.0557964
|
||||
0.0059584
|
||||
0.0716725
|
||||
0.0790327
|
||||
0.0192941
|
||||
0.118207
|
||||
0.0545679
|
||||
0.0771156
|
||||
0.0075137
|
||||
0.101648
|
||||
0.116807
|
||||
0.00289853
|
||||
0.0823836
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-11-00-patch-02 (25-May-2022)
|
||||
Geant4 version Name: geant4-11-01-beta-01 (30-June-2022)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -92,6 +92,7 @@ New sensitive detector <TrackerChamberSD> is registered at /eRosita/
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use combined TransportationWithMsc Disabled
|
||||
Use general process 0
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
@@ -109,7 +110,7 @@ Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
Livermore data directory epics_2017
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
@@ -119,8 +120,9 @@ Step function for light ions (0.2, 0.1 mm)
|
||||
Step function for general ions (0.2, 0.1 mm)
|
||||
Lowest e+e- kinetic energy 1 keV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 0
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Type of fluctuation model 1
|
||||
Use built-in Birks satuaration 0
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
@@ -181,10 +183,10 @@ msc: for e- SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e- XStype:1 SubType=2
|
||||
eIoni: for e- XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
@@ -201,10 +203,10 @@ msc: for e+ SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
|
||||
eIoni: for e+ XStype:1 SubType=2
|
||||
eIoni: for e+ XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
@@ -225,10 +227,10 @@ msc: for proton SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:1 SubType=2
|
||||
hIoni: for proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
@@ -238,10 +240,10 @@ msc: for anti_proton SubType= 10
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:1 SubType=2
|
||||
hIoni: for anti_proton XStype:3 SubType=2
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
@@ -264,21 +266,21 @@ Region <DefaultRegionForParallelWorld> -- -- is not associated to any world.
|
||||
Index : 0 used in the geometry : Yes
|
||||
Material : Galactic
|
||||
Range cuts : gamma 1 um e- 1 um e+ 1 um proton 1 um
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 100 eV
|
||||
Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV proton 100 eV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 1 used in the geometry : Yes
|
||||
Material : Copper
|
||||
Range cuts : gamma 1 um e- 1 um e+ 1 um proton 1 um
|
||||
Energy thresholds : gamma 1 keV e- 6.54829 keV e+ 6.41707 keV proton 100 eV
|
||||
Energy thresholds : gamma 250 eV e- 6.73228 keV e+ 6.59805 keV proton 100 eV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
Index : 2 used in the geometry : Yes
|
||||
Material : Silicon
|
||||
Range cuts : gamma 1 um e- 1 um e+ 1 um proton 1 um
|
||||
Energy thresholds : gamma 1 keV e- 1 keV e+ 1 keV proton 100 eV
|
||||
Energy thresholds : gamma 250 eV e- 847.163 eV e+ 834.725 eV proton 100 eV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
@@ -323,9 +325,9 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 10000
|
||||
User=31.090000s Real=31.396474s Sys=0.010000s
|
||||
User=32.920000s Real=33.790705s Sys=0.230000s
|
||||
--- Run 0 (master) end.Event total count = 10000.
|
||||
User=31.090000s Real=31.397076s Sys=0.010000s
|
||||
User=32.920000s Real=33.791288s Sys=0.230000s
|
||||
G4 kernel has come to Quit state.
|
||||
UserDetectorConstruction deleted.
|
||||
UserPhysicsList deleted.
|
||||
@@ -351,13 +353,13 @@ Pool ID '15G4PrimaryVertex', size : 0.000961 MB
|
||||
Pool ID '17G4PrimaryParticle', size : 0.000961 MB
|
||||
Pool ID '15G4HCofThisEvent', size : 0.000961 MB
|
||||
Pool ID '16G4HitsCollection', size : 0.000961 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.208 MB
|
||||
Pool ID '7G4Track', size : 0.415 MB
|
||||
Pool ID '17G4DynamicParticle', size : 0.203 MB
|
||||
Pool ID '7G4Track', size : 0.405 MB
|
||||
Pool ID '18G4TouchableHistory', size : 0.000961 MB
|
||||
Pool ID '15G4CountedObjectIvE', size : 0.000961 MB
|
||||
Pool ID '17eRositaTrackerHit', size : 0.000961 MB
|
||||
Number of memory pools allocated: 14 of which, static: 0
|
||||
Dynamic pools deleted: 14 / Total memory freed: 0.64 MB
|
||||
Dynamic pools deleted: 14 / Total memory freed: 0.63 MB
|
||||
============================================================
|
||||
G4Allocator objects are deleted.
|
||||
UImanager deleted.
|
||||
|
||||
@@ -267,7 +267,7 @@ std::vector<G4RDAugerTransition> G4RDAugerData::LoadData(G4int Z)
|
||||
}
|
||||
G4String name(ost.str());
|
||||
|
||||
char* path = std::getenv("G4LEDATA");
|
||||
const char* path = G4FindDataDir("G4LEDATA");
|
||||
if (!path)
|
||||
{
|
||||
G4String excep = "G4LEDATA environment variable not set";
|
||||
|
||||
@@ -137,7 +137,7 @@ void G4RDBremsstrahlungParameters::LoadData(const G4String& name)
|
||||
|
||||
// Read parameters
|
||||
|
||||
char* path = std::getenv("G4LEDATA");
|
||||
const char* path = G4FindDataDir("G4LEDATA");
|
||||
if (path == 0)
|
||||
{
|
||||
G4String excep("G4LEDATA environment variable not set!");
|
||||
|
||||
@@ -121,7 +121,7 @@ void G4RDDopplerProfile::LoadBiggsP(const G4String& fileName)
|
||||
ost << fileName << ".dat";
|
||||
G4String name(ost.str());
|
||||
|
||||
char* path = std::getenv("G4LEDATA");
|
||||
const char* path = G4FindDataDir("G4LEDATA");
|
||||
if (!path)
|
||||
{
|
||||
G4String excep("G4LEDATA environment variable not set!");
|
||||
@@ -163,7 +163,7 @@ void G4RDDopplerProfile::LoadProfile(const G4String& fileName,G4int Z)
|
||||
ost << fileName << "-" << Z << ".dat";
|
||||
G4String name(ost.str());
|
||||
|
||||
char* path = std::getenv("G4LEDATA");
|
||||
const char* path = G4FindDataDir("G4LEDATA");
|
||||
if (!path)
|
||||
{
|
||||
G4String excep("G4LEDATA environment variable not set!");
|
||||
|
||||
@@ -312,7 +312,7 @@ size_t G4RDEMDataSet::FindLowerBound(G4double x, G4DataVector* values) const
|
||||
|
||||
G4String G4RDEMDataSet::FullFileName(const G4String& name) const
|
||||
{
|
||||
char* path = std::getenv("G4LEDATA");
|
||||
const char* path = G4FindDataDir("G4LEDATA");
|
||||
if (!path)
|
||||
G4Exception("G4RDEMDataSet::FullFileName()", "InvalidSetup",
|
||||
FatalException, "G4LEDATA environment variable not set!");
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user