Import Geant4 10.3.0 source tree
This commit is contained in:
File diff suppressed because it is too large
Load Diff
+106
@@ -31,6 +31,112 @@ add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
24th November 2016 - Gunter Folger (cmake-V10-02-37)
|
||||
- Switch to PhotonEvaporation 4.3
|
||||
|
||||
22nd November 2016 - Ben Morgan (cmake-V10-02-36)
|
||||
- Modules/Geant4MakeRules_cxx.cmake : Change optimization level for MSVC in
|
||||
Release mode to -Ox for consistentcy with GNUmake system.
|
||||
|
||||
18th November 2016 - Ben Morgan (cmake-V10-02-35)
|
||||
- Modules/Geant4BuildModes.cmake : Change default build type to Release
|
||||
when using single mode tools like Make/Ninja.
|
||||
- Modules/Geant4InstallData.cmake : Always convert exported data paths to
|
||||
native CMake paths. Prevents parse errors on Windows, where native
|
||||
paths are exported (reported by Brian Smith)
|
||||
|
||||
17th November 2016 - Ben Morgan (cmake-V10-02-34)
|
||||
- Fix bug in Qt4/5 handling on Windows
|
||||
- Templates/Geant4Config.cmake.in : Move re-find of Qt4 inside overall
|
||||
Qt4/5 setup section.
|
||||
- Modules/Geant4BuildProjectConfig.cmake : Remove setting of GEANT4_THIRD_PARTY_IMPORT_SETUP
|
||||
variable, and replace with dedicated GEANT4_QT4_IMPORT_SETUP variable for Qt
|
||||
- Export Qt library path to dynamic loader path in Geant4GNUmake environment setup
|
||||
- Modules/Geant4ToolchainBackwardCompatibility.cmake :
|
||||
Prepend Qt library path to dynamic loader path, noting obselescense on
|
||||
macOS.
|
||||
- Templates/geant4make-skeleton.in : Add expansion variable for Qt dynamic
|
||||
loader setup.
|
||||
|
||||
15th November 2016 - Ben Morgan (cmake-V10-02-33)
|
||||
- Export USolids/VecGeom compile defs to Geant4GNUmake environment setup scripts
|
||||
- Modules/Geant4ToolchainBackwardCompatibility.cmake :
|
||||
Configure export variables based on choice of USolids full/partial
|
||||
replacement
|
||||
- Templates/geant4make-skeleton.in : Add entries for required env vars
|
||||
|
||||
9th November 2016 - Ivana Hrivnacova (cmake-V10-02-32)
|
||||
- Added FindDCMTK.cmake needed for extended/medical/DICOM example
|
||||
|
||||
8th November 2016 - Gunter Folger (cmake-V10-02-31)
|
||||
- switch to RadioactiveDecay5.1, PhotonEvaporation4.2, G4ENSDFSTATE2.1
|
||||
|
||||
3rd November 2016 - Gunter Folger (cmake-V10-02-30)
|
||||
- switch to PhotonEvaporation 4.1
|
||||
|
||||
31st October 2016 - Ben Morgan (cmake-V10-02-29)
|
||||
- Modules/Geant4MakeRules_cxx.cmake : fix bug - use correct
|
||||
CMAKE_CXX_FLAGS_INIT variable to add -pipe argument to.
|
||||
|
||||
31st October 2016 - Ben Morgan (cmake-V10-02-28)
|
||||
- Bugfix #1877
|
||||
- Templates/geant4-env-skeleton.in : Provide placeholder
|
||||
variable for adding setting of XercesC libpath
|
||||
- Modules/Geant4ToolchainBackwardCompatibility.cmake
|
||||
Extract and export XercesC library directory to geant4.(c)sh
|
||||
scripts. Add new _g4tc_append_path function to allow appending
|
||||
of entries to a path-like variable. This ensures paths to third
|
||||
party libraries appear after the core Geant4 library path which
|
||||
should prevent clashes.
|
||||
|
||||
27th October 2016 - Gunter Folger (cmake-V10-02-27)
|
||||
- switch to G4EMLOW 6.50
|
||||
|
||||
6th October 2016 - Ben Morgan (cmake-V10-02-26)
|
||||
- Modules/Geant4MakeRules_cxx.cmake : Move all -f optimization options
|
||||
to Release mode only. Add -fno-math-errno and -ftree-vectorize.
|
||||
|
||||
|
||||
6th October 2016 - Ben Morgan (cmake-V10-02-25)
|
||||
- Modules/Geant4MakeRules_cxx.cmake : Add -fno-trapping-math to default
|
||||
flags of GCC/Clang compielrs to assist in auto-vectorization (recommended
|
||||
by CMS/GCC). Bump optimization level in Release mode to O3 on all supported
|
||||
compilers.
|
||||
|
||||
3rd October 2016- Gunter Folger (cmake-V10-02-24)
|
||||
- switch to use G4ENSDFSTATE 2.0
|
||||
(requires tag particles-V10-02-28)
|
||||
|
||||
29th September 2016 - Robert Hatcher (cmake-V10-02-23)
|
||||
- Templates/Geant4Config.cmake.in : No longer use --whole-archive for
|
||||
G4physicslists on static builds; this was never possible for _WIN32 and recent
|
||||
physics list factory work makes this untenable on some build platforms.
|
||||
|
||||
28th September 2016 - Andrea Dotti (cmake-V10-02-22)
|
||||
- add option for TEXT output file in FindStatTest.cmake script
|
||||
|
||||
19th September 2016 - Gunter Folger (cmake-V10-02-21)
|
||||
- switch to PhotonEvaporation 4.0
|
||||
|
||||
7th September 2016 - Gunter Folger (cmake-V10-02-20)
|
||||
- switch to G4RadioactiveDecay.5.0
|
||||
|
||||
22nd August 2016 - Ben Morgan (cmake-V10-02-19)
|
||||
- Templates/UseGeant4.cmake : Force core and per-mode flags to those used to
|
||||
build Geant4. When Geant4 is built with a single mode generator, default
|
||||
CMAKE_BUILD_TYPE for the client to that used to build this install. This
|
||||
guarantees matching of librayr/application optimization for most use cases.
|
||||
NB: No default mode can be provided if Geant4 itself was built/installed using
|
||||
multimode tool like Xcode/VS. This is because multiple modes may be installed
|
||||
at once so a sensible default cannot be set (to be looked at further).
|
||||
- Templates/Geant4Config.cmake.in : Add new Geant4_BUILD_TYPE variable to hold
|
||||
build type of install when Geant4 is installed using a single mode tool.
|
||||
- Modules/Geant4BuildProjectConfig.cmake : Set Geant4_BUILD_TYPE to CMAKE_BUILD_TYPE
|
||||
when building with a single mode tool.
|
||||
|
||||
15th August 2016 - Gunter Folger (cmake-V10-02-18)
|
||||
- switch to G4EMLOW.6.49
|
||||
|
||||
17th June 2016 - Gabriele Cosmo (cmake-V10-02-17)
|
||||
- Modules/Geant4OptionalComponents.cmake: set CLHEP-2.3.3.0 as the required
|
||||
version for external CLHEP library.
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# Locate DCMTK package
|
||||
# in a directory defined via DCMTK_DIR CMake or environment variable
|
||||
# Defines:
|
||||
#
|
||||
# DCMTK_INCLUDE_DIRS
|
||||
# DCMTK_LIBRARIES
|
||||
# DCMTK_FOUND
|
||||
|
||||
# includes
|
||||
#
|
||||
find_path(DCMTK_INCLUDE_DIR dcmtk/dcmdata/dcfilefo.h
|
||||
HINTS $ENV{DCMTK_DIR}/include ${DCMTK_DIR}/include)
|
||||
set(DCMTK_INCLUDE_DIRS ${DCMTK_INCLUDE_DIR})
|
||||
|
||||
|
||||
# libraries
|
||||
#
|
||||
find_library(DCMTK_DCMPSTAT_LIBRARY
|
||||
NAMES dcmpstat
|
||||
HINTS "$ENV{DCMTK_DIR}/lib" "${DCMTK_DIR}/lib")
|
||||
|
||||
get_filename_component(DCMTK_LIBRARY_DIR
|
||||
${DCMTK_DCMPSTAT_LIBRARY} DIRECTORY)
|
||||
|
||||
set(DCMTK_LIBRARIES
|
||||
-L${DCMTK_LIBRARY_DIR} -ldcmpstat -ldcmwlm -lijg8 -ldcmdata -ldcmjpeg -ldcmqrdb
|
||||
-li2d -loflog -ldcmdsig -ldcmjpls -ldcmsr -lijg12 -lofstd -ldcmimage -ldcmnet
|
||||
-ldcmtls -lijg16 -ldcmjpeg -ldcmrt -lcharls -ldcmimgle)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set DCMTK_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DCMTK DEFAULT_MSG DCMTK_INCLUDE_DIRS DCMTK_LIBRARIES)
|
||||
|
||||
mark_as_advanced(DCMTK_FOUND DCMTK_INCLUDE_DIRS DCMTK_LIBRARIES)
|
||||
@@ -1,3 +1,4 @@
|
||||
# Copied from Geant4 installation, need patch
|
||||
# - Find StatTest
|
||||
# This module tries to find the StatTest application
|
||||
# Once done this will define
|
||||
@@ -13,7 +14,6 @@
|
||||
#
|
||||
# STATTEST_ROOT_DIR Root directory to StatTest package
|
||||
#
|
||||
|
||||
#Search application
|
||||
#Note that the second suggested path is G4 specific...
|
||||
find_path(STATTEST_APP_DIR
|
||||
@@ -69,11 +69,12 @@ if(STATTEST_FOUND)
|
||||
# CONFIG conffile
|
||||
# INPUT inputfile
|
||||
# [DEBUG]
|
||||
# [TEXT] #Input is text file instead of root
|
||||
# [REFERENCE reference]
|
||||
# [LABELS label1 label2 ...]
|
||||
# [IMG filename])
|
||||
function(STATTEST_ADD_TEST stattest)
|
||||
CMAKE_PARSE_ARGUMENTS(ARG "DEBUG"
|
||||
CMAKE_PARSE_ARGUMENTS(ARG "DEBUG;TEXT"
|
||||
"CONFIG;INPUT;REFERENCE;G4TEST;IMG"
|
||||
"LABELS" ${ARGN}
|
||||
)
|
||||
@@ -101,6 +102,10 @@ if(STATTEST_FOUND)
|
||||
set(_command ${STATTEST_CMD})
|
||||
endif()
|
||||
|
||||
if(ARG_TEXT)
|
||||
set(_command ${_command} "-T")
|
||||
endif()
|
||||
|
||||
#Mandatory parameters
|
||||
set(_command ${_command} ${ARG_CONFIG} ${ARG_INPUT})
|
||||
if(ARG_REFERENCE)
|
||||
|
||||
@@ -70,7 +70,7 @@ endif()
|
||||
if(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
# Default to a Release build if nothing else...
|
||||
set(CMAKE_BUILD_TYPE RelWithDebInfo
|
||||
set(CMAKE_BUILD_TYPE Release
|
||||
CACHE STRING "Choose the type of build, options are: None Release TestRelease MinSizeRel Debug RelWithDebInfo MinSizeRel Maintainer."
|
||||
FORCE
|
||||
)
|
||||
|
||||
@@ -17,6 +17,11 @@ foreach(_mode DEBUG MINSIZEREL RELEASE RELWITHDEBINFO)
|
||||
set(Geant4_CXX_FLAGS_${_mode} \"${CMAKE_CXX_FLAGS_${_mode}}\")")
|
||||
endforeach()
|
||||
|
||||
if(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
set(GEANT4_COMPILER_FLAG_HINTS "${GEANT4_COMPILER_FLAG_HINTS}
|
||||
set(Geant4_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\")")
|
||||
endif()
|
||||
|
||||
# Core compile definitions...
|
||||
set(GEANT4_CORE_DEFINITIONS )
|
||||
|
||||
@@ -88,7 +93,7 @@ if(GEANT4_USE_QT)
|
||||
|
||||
# On WIN32, re-import the Qt targets.
|
||||
if(WIN32)
|
||||
set(GEANT4_THIRD_PARTY_IMPORT_SETUP "${GEANT4_THIRD_PARTY_IMPORT_SETUP}
|
||||
set(GEANT4_QT4_IMPORT_SETUP "
|
||||
# Qt reimport on WIN32
|
||||
set(QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE})
|
||||
set(QT_USE_IMPORTED_TARGETS ON)
|
||||
|
||||
@@ -18,31 +18,31 @@ geant4_add_dataset(
|
||||
# - Low energy electromagnetics
|
||||
geant4_add_dataset(
|
||||
NAME G4EMLOW
|
||||
VERSION 6.48
|
||||
VERSION 6.50
|
||||
FILENAME G4EMLOW
|
||||
EXTENSION tar.gz
|
||||
ENVVAR G4LEDATA
|
||||
MD5SUM 844064faa16a063a6a08406dc7895b68
|
||||
MD5SUM 2a0dbeb2dd57158919c149f33675cce5
|
||||
)
|
||||
|
||||
# - Photon evaporation
|
||||
geant4_add_dataset(
|
||||
NAME PhotonEvaporation
|
||||
VERSION 3.2
|
||||
VERSION 4.3
|
||||
FILENAME G4PhotonEvaporation
|
||||
EXTENSION tar.gz
|
||||
ENVVAR G4LEVELGAMMADATA
|
||||
MD5SUM 01d5ba17f615d3def01f7c0c6b19bd69
|
||||
MD5SUM 012fcdeaa517efebba5770e6c1cbd882
|
||||
)
|
||||
|
||||
# - Radioisotopes
|
||||
geant4_add_dataset(
|
||||
NAME RadioactiveDecay
|
||||
VERSION 4.4.1
|
||||
VERSION 5.1
|
||||
FILENAME G4RadioactiveDecay
|
||||
EXTENSION tar.gz
|
||||
ENVVAR G4RADIOACTIVEDATA
|
||||
MD5SUM 0aa6c879c17b26f1ca85d3ac915fc30e
|
||||
MD5SUM 994853b153c6f805e60e2b83b9ac10e0
|
||||
)
|
||||
|
||||
# - Neutron XS
|
||||
@@ -98,10 +98,10 @@ geant4_add_dataset(
|
||||
# - ENSDFSTATE
|
||||
geant4_add_dataset(
|
||||
NAME G4ENSDFSTATE
|
||||
VERSION 1.3.1
|
||||
VERSION 2.1
|
||||
FILENAME G4ENSDFSTATE
|
||||
EXTENSION tar.gz
|
||||
ENVVAR G4ENSDFSTATEDATA
|
||||
MD5SUM eddd153110184256a57ce6b753f0d527
|
||||
MD5SUM 95d970b97885aeafaa8909f29997b0df
|
||||
)
|
||||
|
||||
|
||||
@@ -185,6 +185,8 @@ function(geant4_export_datasets _type _output)
|
||||
else()
|
||||
message(FATAL_ERROR "incorrect argument to geant4_export_datasets")
|
||||
endif()
|
||||
# Ensure CMake paths
|
||||
file(TO_CMAKE_PATH "${_tmpprop}" _tmpprop)
|
||||
list(APPEND _tuple ${_tmpprop})
|
||||
|
||||
get_property(_fname GLOBAL PROPERTY ${_ds}_FILENAME)
|
||||
|
||||
@@ -24,9 +24,16 @@ endfunction()
|
||||
#-----------------------------------------------------------------------
|
||||
# GNU C++ or Clang/AppleClang Compiler on all(?) platforms
|
||||
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 -pipe")
|
||||
# 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")
|
||||
# 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 -DG4FPE_DEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
|
||||
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")
|
||||
|
||||
@@ -60,7 +67,7 @@ if(MSVC)
|
||||
# best for native build.
|
||||
set(CMAKE_CXX_FLAGS_INIT "-GR -EHsc -Zm200 -nologo -D_CONSOLE -D_WIN32 -DWIN32 -DOS -DXPNET -D_CRT_SECURE_NO_DEPRECATE")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-MDd -Od -Zi")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-MD -O2 -DNDEBUG")
|
||||
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")
|
||||
|
||||
@@ -77,7 +84,7 @@ endif()
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-w1 -Wno-non-virtual-dtor -Wpointer-arith -Wwrite-strings -fp-model precise")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
|
||||
|
||||
|
||||
@@ -256,6 +256,43 @@ endif
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# function _g4tc_append_path(<output> <shell> <name> <value>)
|
||||
# Set output to a string whose value is the shell command to
|
||||
# append supplied value to the path style environment variable
|
||||
# name (e.g. 'PATH')
|
||||
#
|
||||
function(_g4tc_append_path TEMPLATE_NAME SHELL_FAMILY PATH_VARIABLE
|
||||
APPEND_VARIABLE)
|
||||
# -- bourne block
|
||||
if(${SHELL_FAMILY} STREQUAL "bourne")
|
||||
# We have to make this section verbatim
|
||||
set(${TEMPLATE_NAME}
|
||||
"
|
||||
if test \"x\$${PATH_VARIABLE}\" = \"x\" ; then
|
||||
export ${PATH_VARIABLE}=${APPEND_VARIABLE}
|
||||
else
|
||||
export ${PATH_VARIABLE}=\${${PATH_VARIABLE}}:${APPEND_VARIABLE}
|
||||
fi
|
||||
"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
# -- cshell block
|
||||
elseif(${SHELL_FAMILY} STREQUAL "cshell")
|
||||
# Again, this is verbatim so final output is formatted correctly
|
||||
set(${TEMPLATE_NAME}
|
||||
"
|
||||
if ( ! \${?${PATH_VARIABLE}} ) then
|
||||
setenv ${PATH_VARIABLE} ${APPEND_VARIABLE}
|
||||
else
|
||||
setenv ${PATH_VARIABLE} \${${PATH_VARIABLE}}:${APPEND_VARIABLE}
|
||||
endif
|
||||
"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# MACRO(_g4tc_configure_tc_variables)
|
||||
# Macro to perform the actual setting of the low level toolchain variables
|
||||
@@ -408,6 +445,28 @@ macro(_g4tc_configure_tc_variables SHELL_FAMILY SCRIPT_NAME)
|
||||
set(GEANT4_TC_G4LIB_USE_G3TOG4 "# NOT BUILT WITH G3TOG4 SUPPORT")
|
||||
endif()
|
||||
|
||||
# - USolids/VecGeom
|
||||
if(GEANT4_USE_USOLIDS)
|
||||
# Derive base dir from include path, NB, not 100% robust as Geant4GNUmake makes
|
||||
# significant assumptions about how USolids was installed
|
||||
get_filename_component(_USOLIDS_INCLUDE_DIR "${USOLIDS_INCLUDE_DIRS}" REALPATH)
|
||||
get_filename_component(_USOLIDS_BASE_DIR "${_USOLIDS_INCLUDE_DIR}" DIRECTORY)
|
||||
_g4tc_setenv_command(GEANT4_TC_USOLIDS_BASE_DIR ${SHELL_FAMILY} USOLIDS_BASE_DIR "${_USOLIDS_BASE_DIR}")
|
||||
|
||||
if(GEANT4_USE_ALL_USOLIDS)
|
||||
_g4tc_setenv_command(GEANT4_TC_G4GEOM_USE_USOLIDS ${SHELL_FAMILY} G4GEOM_USE_USOLIDS 1)
|
||||
set(GEANT4_TC_G4GEOM_USE_PARTIAL_USOLIDS "# FULL USOLIDS REPLACEMENT")
|
||||
else()
|
||||
set(GEANT4_TC_G4GEOM_USE_USOLIDS "# PARTIAL USOLIDS REPLACEMENT")
|
||||
_g4tc_setenv_command(GEANT4_TC_G4GEOM_USE_PARTIAL_USOLIDS ${SHELL_FAMILY} G4GEOM_USE_PARTIAL_USOLIDS 1)
|
||||
foreach(__g4_usolid_shape ${GEANT4_USE_PARTIAL_USOLIDS_SHAPE_LIST})
|
||||
_g4tc_setenv_command(GEANT4_TC_G4GEOM_USE_U${__g4_usolid_shape} ${SHELL_FAMILY} G4GEOM_USE_U${__g4_usolid_shape} 1)
|
||||
endforeach()
|
||||
endif()
|
||||
else()
|
||||
set(GEANT4_TC_USOLIDS_BASE_DIR "# NOT BUILT WITH USOLIDS SUPPORT")
|
||||
endif()
|
||||
|
||||
# - USER INTERFACE AND VISUALIZATION MODULES...
|
||||
# - Terminals
|
||||
if(NOT WIN32)
|
||||
@@ -433,7 +492,12 @@ macro(_g4tc_configure_tc_variables SHELL_FAMILY SCRIPT_NAME)
|
||||
_g4tc_setenv_command(GEANT4_TC_G4UI_USE_QT ${SHELL_FAMILY} G4UI_USE_QT 1)
|
||||
_g4tc_setenv_command(GEANT4_TC_G4VIS_USE_OPENGLQT ${SHELL_FAMILY} G4VIS_USE_OPENGLQT 1)
|
||||
|
||||
# Might need library setup, but for now recommend system install....
|
||||
# Dynamic loader path (NB Darwin section is obsolete on El Capitan and higher)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
_g4tc_prepend_path(GEANT4_TC_QT_LIB_PATH_SETUP ${SHELL_FAMILY} DYLD_LIBRARY_PATH \${QTLIBPATH})
|
||||
else()
|
||||
_g4tc_prepend_path(GEANT4_TC_QT_LIB_PATH_SETUP ${SHELL_FAMILY} LD_LIBRARY_PATH \${QTLIBPATH})
|
||||
endif()
|
||||
else()
|
||||
set(GEANT4_TC_G4UI_USE_QT "# NOT BUILT WITH QT INTERFACE")
|
||||
endif()
|
||||
@@ -769,13 +833,26 @@ foreach(_shell bourne;cshell)
|
||||
get_filename_component(_CLHEP_LIB_DIR "${_CLHEP_LIB_DIR}" REALPATH)
|
||||
get_filename_component(_CLHEP_LIB_DIR "${_CLHEP_LIB_DIR}" DIRECTORY)
|
||||
|
||||
_g4tc_prepend_path(GEANT4_TC_CLHEP_LIB_PATH_SETUP
|
||||
_g4tc_append_path(GEANT4_TC_CLHEP_LIB_PATH_SETUP
|
||||
${_shell}
|
||||
${_libpathname}
|
||||
"${_CLHEP_LIB_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
# - XercesC
|
||||
set(GEANT4_TC_XERCESC_LIB_PATH_SETUP "# 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)
|
||||
_g4tc_append_path(GEANT4_TC_XERCESC_LIB_PATH_SETUP
|
||||
${_shell}
|
||||
${_libpathname}
|
||||
"${_XERCESC_LIB_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
# - Set data paths
|
||||
set(GEANT4_ENV_DATASETS )
|
||||
foreach(_ds ${GEANT4_EXPORTED_DATASETS})
|
||||
@@ -786,7 +863,7 @@ foreach(_shell bourne;cshell)
|
||||
# - Set Font Path
|
||||
set(GEANT4_ENV_TOOLS_FONT_PATH "# FREETYPE SUPPORT NOT AVAILABLE")
|
||||
if(GEANT4_USE_FREETYPE)
|
||||
_g4tc_prepend_path(GEANT4_ENV_TOOLS_FONT_PATH
|
||||
_g4tc_append_path(GEANT4_ENV_TOOLS_FONT_PATH
|
||||
${_shell}
|
||||
TOOLS_FONT_PATH
|
||||
"${TOOLS_FONT_PATH}"
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
# Geant4_INCLUDE_DIRS - include directories for Geant4
|
||||
# Geant4_DEFINITIONS - compile definitions needed to use Geant4
|
||||
# Geant4_LIBRARIES - libraries to link against
|
||||
# Geant4_BUILD_TYPE - Build type (e.g. "Release") used to build this
|
||||
# install. Only set if Geant4 was installed using
|
||||
# a single mode tool (e.g. make, ninja).
|
||||
# Geant4_CXX_FLAGS - Recommended CXX flags for the compiler used to
|
||||
# build the Geant4 libraries.
|
||||
# Geant4_CXX_FLAGS_<CONFIG> - Recommended CXX flags for build mode CONFIG.
|
||||
@@ -216,7 +219,7 @@ endif()
|
||||
# to find the actual package we were built against.
|
||||
# THIS IS NOT PERFECT, AS IT CANNOT GUARANTEE A BINARY COMPATIBLE
|
||||
# PACKAGE IS FOUND.
|
||||
@GEANT4_THIRD_PARTY_IMPORT_SETUP@
|
||||
#@GEANT4_THIRD_PARTY_IMPORT_SETUP@
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Configure the path(s) to third party headers.
|
||||
@@ -384,13 +387,12 @@ if(Geant4_qt_FOUND)
|
||||
find_package(Qt5Widgets REQUIRED PATHS "@Qt5Widgets_DIR@")
|
||||
find_package(Qt5OpenGL REQUIRED PATHS "@Qt5OpenGL_DIR@")
|
||||
find_package(Qt5PrintSupport REQUIRED PATHS "@Qt5PrintSupport_DIR@")
|
||||
else()
|
||||
# On Windows, must refind Qt4 because this always uses imported targets
|
||||
@GEANT4_QT4_IMPORT_SETUP@
|
||||
endif()
|
||||
|
||||
if(Geant4_FIND_REQUIRED_qt OR Geant4_FIND_REQUIRED_ui_all OR Geant4_FIND_REQUIRED_vis_all)
|
||||
# If we have Qt5, we need to refind the components because they use
|
||||
# imported targets, so linking will not work unless we recreate
|
||||
# them
|
||||
|
||||
list(APPEND
|
||||
Geant4_DEFINITIONS
|
||||
-DG4INTY_USE_QT
|
||||
@@ -561,7 +563,14 @@ endif()
|
||||
# - Factory registration mechanism in physics_lists requires whole
|
||||
# archive to be linked when using static libs, so requires wrapping
|
||||
# with suitable compiler dependent flags
|
||||
# 2016-05-24: use an alternate means of forcing linking of references for
|
||||
# static builds. --whole-archive never was implemented for _WIN32
|
||||
# (appears not to even be possible)
|
||||
# In order re-implement whole-archive, switch Geant4_FORCE_WHOLE_ARCHIVE ON
|
||||
set(_geant4_physicslists_library G4physicslists${_geant4_lib_use_suffix})
|
||||
|
||||
set(Geant4_FORCE_WHOLE_ARCHIVE OFF)
|
||||
if( Geant4_FORCE_WHOLE_ARCHIVE )
|
||||
if(_geant4_lib_use_suffix STREQUAL "-static")
|
||||
# - Use CMAKE_CXX_COMPILER_ID, which should be reliable enough...
|
||||
# Though the GNU/Clang/Intel compilers/linkers *should* use identical
|
||||
@@ -576,9 +585,12 @@ if(_geant4_lib_use_suffix STREQUAL "-static")
|
||||
else()
|
||||
# Needs determination of other compiler options.
|
||||
# NB: MSVC has /OPT:NOREF, but may apply globally...
|
||||
# reading up on this ... doesn't seem that it applies for subtle reasons
|
||||
# only real way is to actually reference the static variables
|
||||
set(_geant4_physicslists_library G4physicslists${_geant4_lib_use_suffix})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# - 'Kernel' libraries
|
||||
list(APPEND _geant4_internal_libraries
|
||||
|
||||
@@ -37,18 +37,41 @@ add_definitions(${Geant4_DEFINITIONS})
|
||||
include_directories(AFTER SYSTEM ${Geant4_INCLUDE_DIRS})
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Because Geant4 is sensitive to the compiler flags, let's set the base
|
||||
# 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. However, we append any existing CMake flags in
|
||||
# case the user wishes to override these (at their own risk).
|
||||
# Though this may lead to duplication, that should not affect behaviour.
|
||||
# original makefile system. Users requiring additional flags must append them
|
||||
# *after* inclusion of this file
|
||||
#
|
||||
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}")
|
||||
set(CMAKE_CXX_FLAGS "${Geant4_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${Geant4_CXX_FLAGS_DEBUG}")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL "${Geant4_CXX_FLAGS_MINSIZEREL}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${Geant4_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${Geant4_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${Geant4_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
|
||||
|
||||
@@ -29,6 +29,9 @@
|
||||
# - CLHEP
|
||||
@GEANT4_TC_CLHEP_LIB_PATH_SETUP@
|
||||
|
||||
# - XercesC
|
||||
@GEANT4_TC_XERCESC_LIB_PATH_SETUP@
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Resource file paths
|
||||
# - Datasets
|
||||
|
||||
@@ -58,6 +58,26 @@
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4LIB_BUILD_G3TOG4
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4LIB_USE_G3TOG4
|
||||
|
||||
# - USolids/VecGeom
|
||||
@GEANT4_TC_UNSET_COMMAND@ USOLIDS_BASE_DIR
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_USOLIDS
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_PARTIAL_USOLIDS
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UBOX
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UCONS
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UEXTRUDEDSOLID
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UGENERICPOLYCONE
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UGENERICTRAP
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UORB
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UPARABOLOID
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UPOLYCONE
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UPOLYHEDRA
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_USPHERE
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UTET
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UTRAP
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UTRD
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UTORUS
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4GEOM_USE_UTUBS
|
||||
|
||||
# - UI Build and Use options
|
||||
# USE options only for applications.
|
||||
@GEANT4_TC_UNSET_COMMAND@ G4UI_NONE
|
||||
@@ -183,6 +203,29 @@
|
||||
#
|
||||
@GEANT4_TC_G4LIB_USE_G3TOG4@
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# USolids/VecGeom Setup
|
||||
#
|
||||
@GEANT4_TC_USOLIDS_BASE_DIR@
|
||||
@GEANT4_TC_G4GEOM_USE_USOLIDS@
|
||||
@GEANT4_TC_G4GEOM_USE_PARTIAL_USOLIDS@
|
||||
@GEANT4_TC_G4GEOM_USE_UBOX@
|
||||
@GEANT4_TC_G4GEOM_USE_UCONS@
|
||||
@GEANT4_TC_G4GEOM_USE_UEXTRUDEDSOLID@
|
||||
@GEANT4_TC_G4GEOM_USE_UGENERICPOLYCONE@
|
||||
@GEANT4_TC_G4GEOM_USE_UGENERICTRAP@
|
||||
@GEANT4_TC_G4GEOM_USE_UORB@
|
||||
@GEANT4_TC_G4GEOM_USE_UPARABOLOID@
|
||||
@GEANT4_TC_G4GEOM_USE_UPOLYCONE@
|
||||
@GEANT4_TC_G4GEOM_USE_UPOLYHEDRA@
|
||||
@GEANT4_TC_G4GEOM_USE_USPHERE@
|
||||
@GEANT4_TC_G4GEOM_USE_UTET@
|
||||
@GEANT4_TC_G4GEOM_USE_UTRAP@
|
||||
@GEANT4_TC_G4GEOM_USE_UTRD@
|
||||
@GEANT4_TC_G4GEOM_USE_UTORUS@
|
||||
@GEANT4_TC_G4GEOM_USE_UTUBS@
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# USER INTERFACE AND VISUALIZATION MODULES
|
||||
#
|
||||
@@ -200,6 +243,7 @@
|
||||
@GEANT4_TC_GLQTLIBS@
|
||||
@GEANT4_TC_G4UI_USE_QT@
|
||||
@GEANT4_TC_G4VIS_USE_OPENGLQT@
|
||||
@GEANT4_TC_QT_LIB_PATH_SETUP@
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Wt UI/Vis
|
||||
|
||||
+18
-4
@@ -1,4 +1,4 @@
|
||||
svn log $Id: History 97771 2016-06-09 15:15:27Z gcosmo $
|
||||
svn log $Id: History 101512 2016-11-18 15:28:47Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -16,12 +16,26 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
18th November 2016 Gunter Folger (config-V10-02-07)
|
||||
- add include for analysis/accumulables
|
||||
- revert change forcing load of libraries
|
||||
|
||||
9th November 2016 Gunter Folger (config-V10-02-06) *tag REJECTED*
|
||||
- Force loading of symbols for physics_lists/constructor and builders
|
||||
libraries in granular mode for static libs
|
||||
|
||||
17th October 2016 Gabriele Cosmo (config-V10-02-05)
|
||||
- Changed default optimisation settings to -O3 for g++, clang and icc.
|
||||
- Added -fno-trapping-math -ftree-vectorize -fno-math-errno to g++ and
|
||||
clang settings.
|
||||
- Better factorise -std options in scripts.
|
||||
|
||||
8th June 2016 Gunter Folger (config-V10-02-04)
|
||||
- revert previous change for G4{,NO}STATIC_MODE
|
||||
- Reverted previous change for G4{,NO}STATIC_MODE
|
||||
|
||||
8th June 2016 Gunter Folger (config-V10-02-03)
|
||||
- delete G4STATIC_MODE and G4NOSTATIC_MODE options in sys/Darwin* and sys/linux*
|
||||
This is not a complete removal of the option yet...
|
||||
- Deleted G4STATIC_MODE and G4NOSTATIC_MODE options in sys/Darwin*
|
||||
and sys/linux*. This is not a complete removal of the option yet...
|
||||
|
||||
25th April 2016 Gabriele Cosmo (config-V10-02-02)
|
||||
- Added Linux-clang.gmk script for use of clang compiler on Linux system.
|
||||
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
# $Id: binmake.gmk 94578 2015-11-25 08:11:03Z gcosmo $
|
||||
# $Id: binmake.gmk 101512 2016-11-18 15:28:47Z gcosmo $
|
||||
# ----------------------------------------------------------
|
||||
# Script defining rules and paths for making binaries.
|
||||
# First implementation: Gabriele Cosmo, 25/06/1998.
|
||||
@@ -52,6 +52,7 @@ ifndef INCFLAGS
|
||||
-I$(G4BASE)/analysis/root/include \
|
||||
-I$(G4BASE)/analysis/xml/include \
|
||||
-I$(G4BASE)/analysis/parameters/include \
|
||||
-I$(G4BASE)/analysis/accumulables/include \
|
||||
-I$(G4BASE)/global/management/include \
|
||||
-I$(G4BASE)/global/HEPRandom/include \
|
||||
-I$(G4BASE)/global/HEPGeometry/include \
|
||||
|
||||
@@ -9,26 +9,27 @@ ifeq ($(G4SYSTEM),Darwin-clang)
|
||||
CXXFLAGS := -Wall -Wno-non-virtual-dtor -Wno-long-long
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe
|
||||
ifdef G4USE_STD11
|
||||
CXXFLAGS += -std=c++11
|
||||
endif
|
||||
ifdef G4USE_STD14
|
||||
CXXFLAGS += -fno-trapping-math -ftree-vectorize -fno-math-errno
|
||||
G4USE_STD11 := 1
|
||||
ifdef G4USE_STD14
|
||||
CPPFLAGS += -std=c++14
|
||||
CXXFLAGS += -std=c++14
|
||||
endif
|
||||
else
|
||||
ifdef G4USE_STD17
|
||||
G4USE_STD11 := 1
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
else
|
||||
CXXFLAGS += -std=c++11
|
||||
CPPFLAGS += -std=c++11
|
||||
endif
|
||||
endif
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O2
|
||||
FCFLAGS := -O2
|
||||
CCFLAGS := -O2
|
||||
CXXFLAGS += -O3
|
||||
FCFLAGS := -O3
|
||||
CCFLAGS := -O3
|
||||
else
|
||||
ifdef G4DEBUG
|
||||
CXXFLAGS += -g
|
||||
|
||||
+10
-10
@@ -10,27 +10,27 @@
|
||||
ifeq ($(G4SYSTEM),Darwin-g++)
|
||||
CXX := g++
|
||||
CXXFLAGS := -Wall -Wno-non-virtual-dtor -Wno-long-long
|
||||
# CXXFLAGS += -Wunused-parameter -Winline -Wunreachable-code
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe
|
||||
ifdef G4USE_STD11
|
||||
CXXFLAGS += -std=c++11
|
||||
endif
|
||||
ifdef G4USE_STD14
|
||||
CXXFLAGS += -fno-trapping-math -ftree-vectorize -fno-math-errno
|
||||
G4USE_STD11 := 1
|
||||
ifdef G4USE_STD14
|
||||
CPPFLAGS += -std=c++14
|
||||
CXXFLAGS += -std=c++14
|
||||
endif
|
||||
else
|
||||
ifdef G4USE_STD17
|
||||
G4USE_STD11 := 1
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
else
|
||||
CXXFLAGS += -std=c++11
|
||||
CPPFLAGS += -std=c++11
|
||||
endif
|
||||
endif
|
||||
# CXXFLAGS += -stdlib=libstdc++
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O2
|
||||
FCFLAGS := -O2
|
||||
CCFLAGS := -O2
|
||||
CXXFLAGS += -O3
|
||||
FCFLAGS := -O3
|
||||
CCFLAGS := -O3
|
||||
else
|
||||
ifdef G4DEBUG
|
||||
CXXFLAGS += -g
|
||||
|
||||
+13
-13
@@ -8,27 +8,27 @@ ifeq ($(G4SYSTEM),Linux-clang)
|
||||
CXXFLAGS := -Wall -Wno-non-virtual-dtor -Wno-long-long
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe
|
||||
ifdef G4USE_STD11
|
||||
CXXFLAGS += -fno-trapping-math -ftree-vectorize -fno-math-errno
|
||||
G4USE_STD11 := 1
|
||||
ifdef G4USE_STD14
|
||||
CPPFLAGS += -std=c++14
|
||||
CXXFLAGS += -std=c++14
|
||||
else
|
||||
ifdef G4USE_STD17
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
else
|
||||
CXXFLAGS += -std=c++11
|
||||
CPPFLAGS += -std=c++11
|
||||
endif
|
||||
ifdef G4USE_STD14
|
||||
G4USE_STD11 := 1
|
||||
CPPFLAGS += -std=c++14
|
||||
CXXFLAGS += -std=c++14
|
||||
endif
|
||||
ifdef G4USE_STD17
|
||||
G4USE_STD11 := 1
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
endif
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O2
|
||||
FCFLAGS := -O2
|
||||
CCFLAGS := -O2
|
||||
CXXFLAGS += -O3
|
||||
FCFLAGS := -O3
|
||||
CCFLAGS := -O3
|
||||
else
|
||||
ifdef G4DEBUG
|
||||
CXXFLAGS += -g
|
||||
|
||||
+12
-21
@@ -4,38 +4,29 @@
|
||||
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 -pipe
|
||||
CXXFLAGS += -Wshadow
|
||||
ifdef G4USE_STD11
|
||||
CPPFLAGS += -std=c++11
|
||||
CXXFLAGS += -std=c++11
|
||||
endif
|
||||
ifdef G4USE_STD14
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
|
||||
CXXFLAGS += -Wno-variadic-macros -Wshadow -pipe
|
||||
CXXFLAGS += -fno-trapping-math -ftree-vectorize -fno-math-errno
|
||||
G4USE_STD11 := 1
|
||||
ifdef G4USE_STD14
|
||||
CPPFLAGS += -std=c++14
|
||||
CXXFLAGS += -std=c++14
|
||||
endif
|
||||
else
|
||||
ifdef G4USE_STD17
|
||||
G4USE_STD11 := 1
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
else
|
||||
CXXFLAGS += -std=c++11
|
||||
CPPFLAGS += -std=c++11
|
||||
endif
|
||||
endif
|
||||
#
|
||||
# Uncomment the following options to activate Pentium4 chip specific
|
||||
# floating-point operations on the SSE unit. It will allow for more stable
|
||||
# results (no output differences between debug/optimised runs) and little
|
||||
# performance improvement (in the order of 2%).
|
||||
# NOTE: binaries built using these options will NOT be portable cross
|
||||
# platforms. Will only run on Pentium4-based architectures !
|
||||
#
|
||||
# CXXFLAGS += -march=pentium4 -mfpmath=sse
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O2
|
||||
FCFLAGS := -O2
|
||||
CCFLAGS := -O2
|
||||
CXXFLAGS += -O3
|
||||
FCFLAGS := -O3
|
||||
CCFLAGS := -O3
|
||||
else
|
||||
ifdef G4DEBUG
|
||||
CXXFLAGS += -g
|
||||
|
||||
@@ -4,27 +4,26 @@
|
||||
ifeq ($(G4SYSTEM),Linux-icc)
|
||||
CXX := icc
|
||||
CXXFLAGS := -ansi -fp-model precise -w1
|
||||
ifdef G4USE_STD11
|
||||
CPPFLAGS += -std=c++11
|
||||
CXXFLAGS += -std=c++11
|
||||
endif
|
||||
ifdef G4USE_STD14
|
||||
G4USE_STD11 := 1
|
||||
ifdef G4USE_STD14
|
||||
CPPFLAGS += -std=c++14
|
||||
CXXFLAGS += -std=c++14
|
||||
endif
|
||||
else
|
||||
ifdef G4USE_STD17
|
||||
G4USE_STD11 := 1
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
else
|
||||
CXXFLAGS += -std=c++11
|
||||
CPPFLAGS += -std=c++11
|
||||
endif
|
||||
endif
|
||||
ifdef G4MULTITHREADED
|
||||
CXXFLAGS += -ftls-model=initial-exec -pthread
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O2
|
||||
FCFLAGS := -O2
|
||||
CCFLAGS := -O2
|
||||
CXXFLAGS += -O3
|
||||
FCFLAGS := -O3
|
||||
CCFLAGS := -O3
|
||||
else
|
||||
ifdef G4DEBUG
|
||||
CXXFLAGS += -g
|
||||
|
||||
+13
-12
@@ -7,26 +7,27 @@
|
||||
#
|
||||
ifeq ($(G4SYSTEM),WIN32-g++)
|
||||
CXX := g++
|
||||
CXXFLAGS := -W -Wall -ansi -pedantic -Wno-non-virtual-dtor -Wno-long-long
|
||||
CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -pipe
|
||||
ifdef G4USE_STD11
|
||||
CPPFLAGS += -std=c++11
|
||||
CXXFLAGS += -std=c++11
|
||||
endif
|
||||
ifdef G4USE_STD14
|
||||
CXXFLAGS := -Wall -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
|
||||
G4USE_STD11 := 1
|
||||
ifdef G4USE_STD14
|
||||
CPPFLAGS += -std=c++14
|
||||
CXXFLAGS += -std=c++14
|
||||
endif
|
||||
else
|
||||
ifdef G4USE_STD17
|
||||
G4USE_STD11 := 1
|
||||
CPPFLAGS += -std=c++17
|
||||
CXXFLAGS += -std=c++17
|
||||
else
|
||||
CXXFLAGS += -std=c++11
|
||||
CPPFLAGS += -std=c++11
|
||||
endif
|
||||
endif
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O
|
||||
FCFLAGS := -O
|
||||
CCFLAGS := -O
|
||||
CXXFLAGS += -O3
|
||||
FCFLAGS := -O3
|
||||
CCFLAGS := -O3
|
||||
else
|
||||
ifdef G4DEBUG
|
||||
CXXFLAGS += -g
|
||||
|
||||
+11
-1
@@ -1,4 +1,4 @@
|
||||
$Id: History 94509 2015-11-20 10:14:44Z gcosmo $
|
||||
$Id: History 101892 2016-12-07 08:07:30Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -18,6 +18,16 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
envs-V10-02-02 / 7 Dec. 2016 K.Murakami
|
||||
- remove G4VisAttributes::Invisible as deprecated
|
||||
|
||||
envs-V10-02-01 / 21 Nov. 2016 K.Murakami
|
||||
- fixed version strings in __init_.py
|
||||
|
||||
envs-V10-02-00 / 18 Nov. 2016 K.Murakami
|
||||
- update for 10.3 release
|
||||
- CMake modified for unit/integration tests with CTest
|
||||
|
||||
envs-V10-01-01 / 20 Nov. 2015 K. Murakami
|
||||
- update CMakeLists.txt, change minimum version requirement to 3.3
|
||||
- add exported methods requested by enhansment-id 1613
|
||||
|
||||
@@ -11,6 +11,8 @@ set(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR})
|
||||
# debug mode
|
||||
set(DEBUG FALSE CACHE BOOL "Debug Mode (Debug On)")
|
||||
|
||||
enable_testing()
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Do not edit below
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -66,4 +68,4 @@ add_subdirectory(site-modules)
|
||||
add_subdirectory(examples)
|
||||
|
||||
# tests
|
||||
add_subdirectory(tests EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(tests)
|
||||
|
||||
@@ -11,6 +11,18 @@ Geant4Py is a Geant4-Python bridge.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
|
||||
7 Dec. 2016 K. Murakami
|
||||
- remove G4VisAttributes::Invisible as deprecated
|
||||
|
||||
21 Nov. 2016 K. Murakami
|
||||
- fix version strings in __init__.py
|
||||
|
||||
18 Nov. 2016 K. Murakami
|
||||
- update for 10.3 release
|
||||
- CMake modified for unit/integration tests with CTest
|
||||
- remove ExN03 physics list
|
||||
|
||||
19 Nov. 2015 K. Murakami
|
||||
- update CMakeLists.txt, change minimum version requirement to 3.3
|
||||
- add exported methods requested by enhansment-id 1613
|
||||
|
||||
+540
-205
File diff suppressed because one or more lines are too long
+12
-10
@@ -24,8 +24,8 @@ ROOT for histogramming/analysis
|
||||
|
||||
### Tested Platforms
|
||||
|
||||
* CentOS6 (RH6 clones)
|
||||
* OSX Yosemite
|
||||
* CentOS7 (RH7 clones)
|
||||
* OSX (Sierra)
|
||||
|
||||
|
||||
How to Install
|
||||
@@ -44,13 +44,16 @@ then
|
||||
# make
|
||||
# make install
|
||||
|
||||
If you want to run the testing component,
|
||||
|
||||
# cd build/tests
|
||||
# make; make install
|
||||
|
||||
By default, g4py is installed in \<g4py\>/lib(64) directory.
|
||||
|
||||
Before doing tests with CTest, you have to set environment variables
|
||||
for Geant4 data.
|
||||
|
||||
# make
|
||||
# make install
|
||||
# ctest
|
||||
|
||||
performs automatic unit/integration tests with CTest.
|
||||
|
||||
How to Use:
|
||||
-----------
|
||||
@@ -61,8 +64,8 @@ Some environment variables are required at run time.
|
||||
Python module search directories, given by a colon-separated list of directories, like
|
||||
|
||||
|
||||
# export PYTHONPATH=<g4py>/lib64:<g4py>/examples:<g4py>/tests (zsh, bash)
|
||||
# setenv PYTHONPATH <g4py>/lib64:<g4py>/examples:<g4py>/tests (csh)
|
||||
# export PYTHONPATH=<g4py>/lib64:<g4py>/lib64/examples:<g4py>/lib64/tests (zsh, bash)
|
||||
# setenv PYTHONPATH <g4py>/lib64:<g4py>/lib64/examples:<g4py>/lib64/tests (csh)
|
||||
|
||||
|
||||
|
||||
@@ -70,4 +73,3 @@ Python module search directories, given by a colon-separated list of directories
|
||||
You can import Geant4Py modules in Python just like
|
||||
|
||||
>>> import Geant4
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
from Geant4 import *
|
||||
import g4py.Qmaterials, g4py.NISTmaterials
|
||||
import g4py.ExN03geom
|
||||
import g4py.ExN03pl
|
||||
#import g4py.ExN03pl
|
||||
import g4py.EMSTDpl
|
||||
import g4py.ParticleGun, g4py.MedicalBeam
|
||||
import sys
|
||||
from time import *
|
||||
@@ -37,7 +38,6 @@ HepRandom.setTheSeed(20050830L)
|
||||
# ------------------------------------------------------------------
|
||||
# normal way for constructing user geometry
|
||||
|
||||
|
||||
exN03geom= g4py.ExN03geom.ExN03DetectorConstruction()
|
||||
gRunManager.SetUserInitialization(exN03geom)
|
||||
|
||||
@@ -53,7 +53,7 @@ gRunManager.SetUserInitialization(exN03geom)
|
||||
# setup for physics list
|
||||
# ------------------------------------------------------------------
|
||||
# normal way for constructing user physics list
|
||||
exN03PL= g4py.ExN03pl.PhysicsList()
|
||||
exN03PL= g4py.EMSTDpl.PhysicsListEMstd()
|
||||
gRunManager.SetUserInitialization(exN03PL)
|
||||
|
||||
# 2nd way, short-cut way
|
||||
|
||||
@@ -53,7 +53,7 @@ gRunManager.SetUserInitialization(exN03geom)
|
||||
# setup for physics list
|
||||
# ------------------------------------------------------------------
|
||||
# normal way for constructing user physics list
|
||||
exN03PL= g4py.ExN03pl.PhysicsList()
|
||||
exN03PL= g4py.EMSTDpl.PhysicsListEMstd()
|
||||
gRunManager.SetUserInitialization(exN03PL)
|
||||
|
||||
# 2nd way, short-cut way
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# Koichi Murakami (KEK/CRC)
|
||||
# ==================================================================
|
||||
from Geant4 import *
|
||||
import g4py.ExN03pl
|
||||
import g4py.EMSTDpl
|
||||
import g4py.emcalculator
|
||||
import EmPlot
|
||||
import ROOT
|
||||
@@ -19,7 +19,7 @@ from cStringIO import StringIO
|
||||
# ==================================================================
|
||||
def g4_configure() :
|
||||
EmPlot.Configure()
|
||||
g4py.ExN03pl.Construct()
|
||||
g4py.EMSTDpl.Construct()
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# plot for chaged particles
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: ExN03DetectorConstruction.cc 66892 2013-01-17 10:57:59Z gunter $
|
||||
// $Id: ExN03DetectorConstruction.cc 101905 2016-12-07 11:34:39Z gunter $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -344,7 +344,7 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
|
||||
//
|
||||
// Visualization attributes
|
||||
//
|
||||
logicWorld->SetVisAttributes (G4VisAttributes::Invisible);
|
||||
logicWorld->SetVisAttributes (G4VisAttributes::GetInvisible());
|
||||
|
||||
G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
|
||||
simpleBoxVisAtt->SetVisibility(true);
|
||||
|
||||
@@ -2,4 +2,3 @@
|
||||
|
||||
add_subdirectory(EMSTDpl)
|
||||
add_subdirectory(ExN01pl)
|
||||
add_subdirectory(ExN03pl)
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
"""
|
||||
Python module
|
||||
|
||||
This module provides classes and functions for scoring reactions
|
||||
|
||||
[C] MCVertex:
|
||||
[C] MCParticle:
|
||||
[f] read_next_vertex(stream):
|
||||
|
||||
Q, 2006
|
||||
"""
|
||||
import string
|
||||
from Geant4.hepunit import *
|
||||
|
||||
# ==================================================================
|
||||
# public symbols
|
||||
# ==================================================================
|
||||
__all__ = [ 'MCParticle', 'MCVertex', 'read_next_vertex' ]
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# class definition
|
||||
# ==================================================================
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# MCParticle
|
||||
# ------------------------------------------------------------------
|
||||
class MCParticle:
|
||||
"MC particle"
|
||||
def __init__(self, aname, aZ, aA, akE, apx, apy, apz):
|
||||
self.name = aname
|
||||
self.Z = aZ
|
||||
self.A = aA
|
||||
self.kineticE = akE
|
||||
self.px = apx
|
||||
self.py = apy
|
||||
self.pz = apz
|
||||
|
||||
def printout(self):
|
||||
print "--- particle: %s, Z=%2d, A=%2d, kE=%g" % \
|
||||
(self.name, self.Z, self.A, self.kineticE/MeV)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# MCVertex
|
||||
# ------------------------------------------------------------------
|
||||
class MCVertex :
|
||||
"MC vertex"
|
||||
def __init__(self, ax, ay, az):
|
||||
self.x = ax
|
||||
self.y = ay
|
||||
self.z = az
|
||||
self.nparticle = 0
|
||||
self.particle_list = []
|
||||
|
||||
def append_particle(self, aparticle):
|
||||
self.particle_list.append(aparticle)
|
||||
self.nparticle= self.nparticle+1
|
||||
|
||||
def printout(self):
|
||||
print "@@@ vertex: x=(%g,%g,%g) Nsec=%3d" % \
|
||||
(self.x/cm, self.y/cm, self.z/cm, self.nparticle)
|
||||
for p in self.particle_list:
|
||||
p.printout()
|
||||
|
||||
def dump_vertex(self, stream):
|
||||
aline = "%g %g %g %d\n" % \
|
||||
(self.x/m, self.y/m, self.z/m, self.nparticle)
|
||||
stream.write(aline)
|
||||
for p in self.particle_list:
|
||||
aline = " %s %d %d %g %g %g %g\n" % \
|
||||
(p.name, p.Z, p.A, p.kineticE/MeV, p.px/MeV, p.py/MeV, p.pz/MeV)
|
||||
stream.write(aline)
|
||||
|
||||
def __del__(self):
|
||||
np = len(self.particle_list)
|
||||
del self.particle_list[0:np]
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# I/O interface
|
||||
# ==================================================================
|
||||
def read_next_vertex(stream):
|
||||
"read next vertex from a file stream"
|
||||
line= stream.readline()
|
||||
if line == "": # EOF
|
||||
return 0
|
||||
|
||||
# reading vertex
|
||||
data = line.split()
|
||||
x = string.atof(data[0]) * m
|
||||
y = string.atof(data[1]) * m
|
||||
z = string.atof(data[2]) * m
|
||||
nsec = string.atoi(data[3])
|
||||
|
||||
vertex = MCVertex(x,y,z)
|
||||
|
||||
# reading particles
|
||||
for p in range(0, nsec):
|
||||
data = stream.readline().split()
|
||||
pname = data[0]
|
||||
Z = string.atoi(data[1])
|
||||
A = string.atoi(data[2])
|
||||
kE = string.atof(data[3]) * MeV
|
||||
px = string.atof(data[4]) * MeV
|
||||
py = string.atof(data[5]) * MeV
|
||||
pz = string.atof(data[6]) * MeV
|
||||
|
||||
particle = MCParticle(pname, Z, A, kE, px, py, pz)
|
||||
vertex.append_particle(particle)
|
||||
|
||||
return vertex
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# test
|
||||
# ==================================================================
|
||||
def test():
|
||||
f = open("reaction.dat")
|
||||
f.seek(0)
|
||||
|
||||
while(1):
|
||||
vertex = read_next_vertex(f)
|
||||
if vertex == 0:
|
||||
break
|
||||
vertex.printout()
|
||||
del vertex
|
||||
f.close()
|
||||
print ">>> EOF"
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# main
|
||||
# ==================================================================
|
||||
if __name__ == "__main__":
|
||||
test()
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
"""
|
||||
Python module
|
||||
|
||||
This module provides ROOT IO interface for MCScore data
|
||||
|
||||
[C] MCScoreROOTIO
|
||||
[f] loop_tree(tfile, analyze_vertex):
|
||||
|
||||
Q, 2006
|
||||
"""
|
||||
from array import array
|
||||
import string
|
||||
from Geant4.hepunit import *
|
||||
import mcscore
|
||||
import ROOT
|
||||
|
||||
# ==================================================================
|
||||
# public symbols
|
||||
# ==================================================================
|
||||
__all__ = [ 'MCScoreROOTIO', 'loop_tree' ]
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# class definition
|
||||
# ==================================================================
|
||||
# ------------------------------------------------------------------
|
||||
# MCScoreROOTIO
|
||||
# ------------------------------------------------------------------
|
||||
class MCScoreROOTIO:
|
||||
"ROOT IO interface for MCScore"
|
||||
def __init__(self, bsize=250):
|
||||
self.maxparticle = bsize # buffer size for #particles/vertex
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
def define_tree(self):
|
||||
"define ROOT tree"
|
||||
# defining tree header...
|
||||
self.vtree = ROOT.TTree('vertex', 'mc vertex')
|
||||
self.ptree = ROOT.TTree('particle', 'mc particle')
|
||||
|
||||
# vertex...
|
||||
self.a_x = array('d', [0.]); self.vtree.Branch('x', self.a_x, 'x/d')
|
||||
self.a_y = array('d', [0.]); self.vtree.Branch('y', self.a_y, 'y/d')
|
||||
self.a_z = array('d', [0.]); self.vtree.Branch('z', self.a_z, 'z/d')
|
||||
|
||||
#global a_np, a_namelist, a_Z, a_A, a_ke, a_px, a_py, a_pz
|
||||
self.a_np = array('i', [0]); self.ptree.Branch('np', self.a_np, 'np/i')
|
||||
|
||||
self.a_namelist = array('c', self.maxparticle*10*['\0'])
|
||||
# 10 characters/particle
|
||||
self.ptree.Branch('namelist', self.a_namelist, 'namelist/C')
|
||||
|
||||
self.a_Z = array('i', self.maxparticle*[0])
|
||||
self.ptree.Branch('Z', self.a_Z, 'Z[np]/I')
|
||||
|
||||
self.a_A = array('i', self.maxparticle*[0])
|
||||
self.ptree.Branch('A', self.a_A, 'A[np]/i')
|
||||
|
||||
self.a_ke = array('d', self.maxparticle*[0.])
|
||||
self.ptree.Branch('kE', self.a_ke, 'kE[np]/d')
|
||||
|
||||
self.a_px = array('d', self.maxparticle*[0.])
|
||||
self.ptree.Branch('px', self.a_px, 'px[np]/d')
|
||||
|
||||
self.a_py = array('d', self.maxparticle*[0.])
|
||||
self.ptree.Branch('py', self.a_py, 'py[np]/d')
|
||||
|
||||
self.a_pz = array('d', self.maxparticle*[0.])
|
||||
self.ptree.Branch('pz', self.a_pz, 'pz[np]/d')
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
def fill_tree(self, vertex):
|
||||
"fill vertex information to ROOT tree"
|
||||
# ------------------------------------------------------------------
|
||||
def push_pname(i0, pname): # local function
|
||||
n = len(pname)
|
||||
for i in xrange(n):
|
||||
self.a_namelist[i0+i] = pname[i]
|
||||
self.a_namelist[i0+n] = ' '
|
||||
|
||||
self.a_x[0] = vertex.x
|
||||
self.a_y[0] = vertex.y
|
||||
self.a_z[0] = vertex.z
|
||||
self.vtree.Fill()
|
||||
|
||||
if vertex.nparticle > self.maxparticle:
|
||||
raise """
|
||||
*** buffer overflow in #particles/vertex.
|
||||
*** please increment buffersize in MCScoreROOTIO(bsize).
|
||||
""", self.maxparticle
|
||||
|
||||
idx_namelist = 0
|
||||
self.a_np[0] = vertex.nparticle
|
||||
for ip in range(vertex.nparticle):
|
||||
particle = vertex.particle_list[ip]
|
||||
push_pname(idx_namelist, particle.name)
|
||||
idx_namelist += (len(particle.name)+1)
|
||||
self.a_Z[ip] = particle.Z
|
||||
self.a_A[ip] = particle.A
|
||||
self.a_ke[ip] = particle.kineticE
|
||||
self.a_px[ip] = particle.px
|
||||
self.a_py[ip] = particle.py
|
||||
self.a_pz[ip] = particle.pz
|
||||
|
||||
self.a_namelist[idx_namelist] = '\0'
|
||||
self.ptree.Fill()
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# functions
|
||||
# ==================================================================
|
||||
def loop_tree(tfile, analyze_vertex):
|
||||
"""
|
||||
loop ROOT tree in a ROOT file.
|
||||
* analyze_vertex: user function : analyze_vertex(MCVertex)
|
||||
"""
|
||||
avtree = tfile.Get("vertex")
|
||||
aptree = tfile.Get("particle")
|
||||
|
||||
# reading vertex...
|
||||
n_vertex = avtree.GetEntries()
|
||||
for ivtx in xrange(n_vertex):
|
||||
avtree.GetEntry(ivtx)
|
||||
aptree.GetEntry(ivtx)
|
||||
|
||||
# vertex
|
||||
vertex = MCScore.MCVertex(avtree.x, avtree.y, avtree.z)
|
||||
|
||||
# reading secondary particles...
|
||||
nsec = aptree.np
|
||||
namelist = aptree.namelist
|
||||
pname = namelist.split()
|
||||
for ip in xrange(nsec):
|
||||
particle = MCScore.MCParticle(pname[ip], aptree.Z[ip], aptree.A[ip],
|
||||
aptree.kE[ip], aptree.px[ip],
|
||||
aptree.py[ip], aptree.pz[ip])
|
||||
vertex.append_particle(particle)
|
||||
|
||||
analyze_vertex(vertex)
|
||||
|
||||
return n_vertex
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# test
|
||||
# ==================================================================
|
||||
def test_t2root():
|
||||
g = ROOT.TFile("reaction.root", 'recreate')
|
||||
|
||||
rootio = MCScoreROOTIO()
|
||||
rootio.define_tree()
|
||||
|
||||
f = open("reaction.dat")
|
||||
f.seek(0)
|
||||
|
||||
while(1):
|
||||
vertex = MCScore.read_next_vertex(f)
|
||||
if vertex == 0:
|
||||
break
|
||||
|
||||
# filling ...
|
||||
rootio.fill_tree(vertex)
|
||||
|
||||
del vertex
|
||||
|
||||
print ">>> EOF"
|
||||
f.close()
|
||||
|
||||
# closing ROOT file
|
||||
g.Write()
|
||||
g.Close()
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
def test_loop():
|
||||
def my_analysis(vertex):
|
||||
vertex.printout()
|
||||
|
||||
f = ROOT.TFile("reaction.root", 'read')
|
||||
nv = loop_tree(f, my_analysis)
|
||||
print "*** # of vertex= ", nv
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# main
|
||||
# ==================================================================
|
||||
if __name__ == "__main__":
|
||||
test_t2root()
|
||||
test_loop()
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: pyG4VisAttributes.cc 76884 2013-11-18 12:54:03Z gcosmo $
|
||||
// $Id: pyG4VisAttributes.cc 101892 2016-12-07 08:07:30Z gcosmo $
|
||||
// ====================================================================
|
||||
// pyG4VisAttributes.cc
|
||||
//
|
||||
@@ -75,7 +75,6 @@ void export_G4VisAttributes()
|
||||
.def(init<const G4Colour&>())
|
||||
.def(init<G4bool, const G4Colour&>())
|
||||
// ---
|
||||
.def_readonly("Invisible", &G4VisAttributes::Invisible)
|
||||
.def("GetInvisible", &G4VisAttributes::GetInvisible,
|
||||
return_value_policy<reference_existing_object>())
|
||||
.staticmethod("GetInvisible")
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: pyG4AtomicShells.cc 66892 2013-01-17 10:57:59Z gunter $
|
||||
// $Id: pyG4AtomicShells.cc 101514 2016-11-18 15:30:57Z gcosmo $
|
||||
// ====================================================================
|
||||
// pyG4AtomicShells.cc
|
||||
//
|
||||
@@ -40,7 +40,7 @@ using namespace boost::python;
|
||||
void export_G4AtomicShells()
|
||||
{
|
||||
class_<G4AtomicShells, boost::noncopyable>
|
||||
("G4AtomicShells", "Atomic subshell binding energy table")
|
||||
("G4AtomicShells", "Atomic subshell binding energy table", no_init)
|
||||
|
||||
.def("GetNumberOfShells", &G4AtomicShells::GetNumberOfShells)
|
||||
.staticmethod("GetNumberOfShells")
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: pyG4Element.cc 76884 2013-11-18 12:54:03Z gcosmo $
|
||||
// $Id: pyG4Element.cc 101514 2016-11-18 15:30:57Z gcosmo $
|
||||
// ====================================================================
|
||||
// pyG4Element.cc
|
||||
//
|
||||
@@ -105,8 +105,5 @@ void export_G4Element()
|
||||
return_internal_reference<>())
|
||||
// ---
|
||||
.def("Print", Print)
|
||||
.def(self == self)
|
||||
.def(self != self)
|
||||
;
|
||||
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: pyG4NistManager.cc 76884 2013-11-18 12:54:03Z gcosmo $
|
||||
// $Id: pyG4NistManager.cc 101514 2016-11-18 15:30:57Z gcosmo $
|
||||
// ====================================================================
|
||||
// pyG4NistManager.cc
|
||||
//
|
||||
@@ -52,9 +52,9 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_FindOrBuildElement,
|
||||
FindOrBuildElement, 1, 2)
|
||||
|
||||
// PrintElement
|
||||
void(G4NistManager::*f1_PrintElement)(const G4String&)
|
||||
void(G4NistManager::*f1_PrintElement)(const G4String&) const
|
||||
= &G4NistManager::PrintElement;
|
||||
void(G4NistManager::*f2_PrintElement)(G4int)
|
||||
void(G4NistManager::*f2_PrintElement)(G4int) const
|
||||
= &G4NistManager::PrintElement;
|
||||
|
||||
// FindOrBuildMaterial
|
||||
@@ -148,4 +148,3 @@ void export_G4NistManager()
|
||||
;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: pyPhysicsLists.cc 76884 2013-11-18 12:54:03Z gcosmo $
|
||||
// $Id: pyPhysicsLists.cc 101514 2016-11-18 15:30:57Z gcosmo $
|
||||
// ====================================================================
|
||||
// pyPhysicsLists.cc
|
||||
//
|
||||
@@ -32,24 +32,28 @@
|
||||
#include <boost/python.hpp>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include "FTF_BIC.hh"
|
||||
#include "FTFP_BERT.hh"
|
||||
#include "FTFP_BERT_ATL.hh"
|
||||
#include "FTFP_BERT_HP.hh"
|
||||
#include "FTFP_BERT_TRV.hh"
|
||||
#include "FTFP_INCLXX.hh"
|
||||
#include "FTFP_INCLXX_HP.hh"
|
||||
#include "FTF_BIC.hh"
|
||||
#include "LBE.hh"
|
||||
#include "NuBeam.hh"
|
||||
#include "QBBC.hh"
|
||||
#include "QGS_BIC.hh"
|
||||
#include "QGSP_BERT.hh"
|
||||
#include "QGSP_BERT_HP.hh"
|
||||
#include "QGSP_BIC.hh"
|
||||
#include "QGSP_BIC_AllHP.hh"
|
||||
#include "QGSP_BIC_HP.hh"
|
||||
#include "QGSP_FTFP_BERT.hh"
|
||||
#include "QGSP_INCLXX.hh"
|
||||
#include "QGSP_INCLXX_HP.hh"
|
||||
#include "QGS_BIC.hh"
|
||||
#include "Shielding.hh"
|
||||
|
||||
|
||||
// macro for adding physics lists
|
||||
#define ADD_PHYSICS_LIST(plname) \
|
||||
class_<plname, plname*, bases<G4VUserPhysicsList>, boost::noncopyable> \
|
||||
@@ -87,22 +91,25 @@ void export_PhysicsLists()
|
||||
{
|
||||
def("ListPhysicsList", ListPhysicsList);
|
||||
|
||||
ADD_PHYSICS_LIST(FTF_BIC);
|
||||
ADD_PHYSICS_LIST(FTFP_BERT);
|
||||
ADD_PHYSICS_LIST(FTFP_BERT_ATL);
|
||||
ADD_PHYSICS_LIST(FTFP_BERT_HP);
|
||||
ADD_PHYSICS_LIST(FTFP_BERT_TRV);
|
||||
ADD_PHYSICS_LIST(FTFP_INCLXX);
|
||||
ADD_PHYSICS_LIST(FTFP_INCLXX_HP);
|
||||
ADD_PHYSICS_LIST(FTF_BIC);
|
||||
ADD_PHYSICS_LIST(LBE);
|
||||
ADD_PHYSICS_LIST(NuBeam);
|
||||
ADD_PHYSICS_LIST(QBBC);
|
||||
ADD_PHYSICS_LIST(QGS_BIC);
|
||||
ADD_PHYSICS_LIST(QGSP_BERT);
|
||||
ADD_PHYSICS_LIST(QGSP_BERT_HP);
|
||||
ADD_PHYSICS_LIST(QGSP_BIC);
|
||||
ADD_PHYSICS_LIST(QGSP_BIC_AllHP);
|
||||
ADD_PHYSICS_LIST(QGSP_BIC_HP);
|
||||
ADD_PHYSICS_LIST(QGSP_FTFP_BERT);
|
||||
ADD_PHYSICS_LIST(QGSP_INCLXX);
|
||||
ADD_PHYSICS_LIST(QGSP_INCLXX_HP);
|
||||
ADD_PHYSICS_LIST(QGS_BIC);
|
||||
ADD_PHYSICS_LIST(Shielding);
|
||||
|
||||
// sort PL vector
|
||||
|
||||
@@ -6,7 +6,6 @@ add_library(
|
||||
${_TARGET} SHARED
|
||||
pyG4CrossSectionHandler.cc
|
||||
pyG4EmCalculator.cc
|
||||
pyG4LossTableManager.cc
|
||||
pyG4ProcVector.cc
|
||||
pyG4ProcessManager.cc
|
||||
pyG4ProcessTable.cc
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: pymodG4processes.cc 66892 2013-01-17 10:57:59Z gunter $
|
||||
// $Id: pymodG4processes.cc 101514 2016-11-18 15:30:57Z gcosmo $
|
||||
// ====================================================================
|
||||
// pymodG4processes.cc
|
||||
//
|
||||
@@ -42,7 +42,6 @@ void export_G4VProcess();
|
||||
void export_G4ProcVector();
|
||||
void export_G4ProcessType();
|
||||
void export_G4EmCalculator();
|
||||
void export_G4LossTableManager();
|
||||
void export_G4ProductionCutsTable();
|
||||
void export_G4VCrossSectionHandler();
|
||||
void export_G4CrossSectionHandler();
|
||||
@@ -55,7 +54,6 @@ BOOST_PYTHON_MODULE(G4processes)
|
||||
export_G4ProcVector();
|
||||
export_G4ProcessType();
|
||||
export_G4EmCalculator();
|
||||
export_G4LossTableManager();
|
||||
export_G4ProductionCutsTable();
|
||||
export_G4VCrossSectionHandler();
|
||||
export_G4CrossSectionHandler();
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
# This package contains a set of Python interface with Geant4.
|
||||
# ==================================================================
|
||||
"""
|
||||
# $Id: __init__.py 94382 2015-11-13 10:18:01Z gcosmo $
|
||||
__version__ ='10.2'
|
||||
__date__ = 'November/2015'
|
||||
# $Id: __init__.py 101648 2016-11-21 08:42:14Z gcosmo $
|
||||
__version__ ='10.3'
|
||||
__date__ = 'November/2016'
|
||||
__author__ = 'K.Murakami (Koichi.Murakami@kek.jp)'
|
||||
|
||||
# import submodules
|
||||
@@ -87,9 +87,6 @@ gParticleIterator = PyG4ParticleList()
|
||||
# gProcessTable
|
||||
gProcessTable = G4ProcessTable.GetProcessTable()
|
||||
|
||||
# gLossTableManager
|
||||
gLossTableManager = G4LossTableManager.Instance()
|
||||
|
||||
# gProductionCutsTable
|
||||
gProductionCutsTable = G4ProductionCutsTable.GetProductionCutsTable()
|
||||
|
||||
@@ -243,5 +240,3 @@ def _run_abort(signum, frame):
|
||||
|
||||
if (threading.activeCount() == 1):
|
||||
signal.signal(signal.SIGINT, _run_abort)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,308 @@
|
||||
"""
|
||||
# ==================================================================
|
||||
# Python module
|
||||
#
|
||||
# This module defines physical units and constants used in HEP,
|
||||
# which are imported from CLHEP library.
|
||||
#
|
||||
# Q, 2005
|
||||
# ==================================================================
|
||||
"""
|
||||
#$Id: hepunit.py 66892 2013-01-17 10:57:59Z gunter $
|
||||
|
||||
# ==================================================================
|
||||
# imported from "SystemOfUnits.h"
|
||||
# ==================================================================
|
||||
millimeter = 1.
|
||||
millimeter2 = millimeter*millimeter
|
||||
millimeter3 = millimeter*millimeter*millimeter
|
||||
|
||||
centimeter = 10.*millimeter
|
||||
centimeter2 = centimeter*centimeter
|
||||
centimeter3 = centimeter*centimeter*centimeter
|
||||
|
||||
meter = 1000.*millimeter
|
||||
meter2 = meter*meter
|
||||
meter3 = meter*meter*meter
|
||||
|
||||
kilometer = 1000.*meter
|
||||
kilometer2 = kilometer*kilometer
|
||||
kilometer3 = kilometer*kilometer*kilometer
|
||||
|
||||
parsec = 3.0856775807e+16*meter
|
||||
|
||||
micrometer = 1.e-6 *meter
|
||||
nanometer = 1.e-9 *meter
|
||||
angstrom = 1.e-10*meter
|
||||
fermi = 1.e-15*meter
|
||||
|
||||
barn = 1.e-28*meter2
|
||||
millibarn = 1.e-3 *barn
|
||||
microbarn = 1.e-6 *barn
|
||||
nanobarn = 1.e-9 *barn
|
||||
picobarn = 1.e-12*barn
|
||||
|
||||
# symbols
|
||||
mm = millimeter
|
||||
mm2 = millimeter2
|
||||
mm3 = millimeter3
|
||||
|
||||
cm = centimeter
|
||||
cm2 = centimeter2
|
||||
cm3 = centimeter3
|
||||
|
||||
m = meter
|
||||
m2 = meter2
|
||||
m3 = meter3
|
||||
|
||||
km = kilometer
|
||||
km2 = kilometer2
|
||||
km3 = kilometer3
|
||||
|
||||
pc = parsec
|
||||
|
||||
#
|
||||
# Angle
|
||||
#
|
||||
radian = 1.
|
||||
milliradian = 1.e-3*radian
|
||||
degree = (3.14159265358979323846/180.0)*radian
|
||||
|
||||
steradian = 1.
|
||||
|
||||
# symbols
|
||||
rad = radian
|
||||
mrad = milliradian
|
||||
sr = steradian
|
||||
deg = degree
|
||||
|
||||
#
|
||||
# Time [T]
|
||||
#
|
||||
nanosecond = 1.
|
||||
second = 1.e+9 *nanosecond
|
||||
millisecond = 1.e-3 *second
|
||||
microsecond = 1.e-6 *second
|
||||
picosecond = 1.e-12*second
|
||||
|
||||
hertz = 1./second
|
||||
kilohertz = 1.e+3*hertz
|
||||
megahertz = 1.e+6*hertz
|
||||
|
||||
# symbols
|
||||
ns = nanosecond
|
||||
s = second
|
||||
ms = millisecond
|
||||
|
||||
#
|
||||
# Electric charge [Q]
|
||||
#
|
||||
eplus = 1. # positron charge
|
||||
e_SI = 1.60217733e-19 # positron charge in coulomb
|
||||
coulomb = eplus/e_SI # coulomb = 6.24150 e+18 * eplus
|
||||
|
||||
#
|
||||
# Energy [E]
|
||||
#
|
||||
megaelectronvolt = 1.
|
||||
electronvolt = 1.e-6*megaelectronvolt
|
||||
kiloelectronvolt = 1.e-3*megaelectronvolt
|
||||
gigaelectronvolt = 1.e+3*megaelectronvolt
|
||||
teraelectronvolt = 1.e+6*megaelectronvolt
|
||||
petaelectronvolt = 1.e+9*megaelectronvolt
|
||||
|
||||
joule = electronvolt/e_SI # joule = 6.24150 e+12 * MeV
|
||||
|
||||
# symbols
|
||||
MeV = megaelectronvolt
|
||||
eV = electronvolt
|
||||
keV = kiloelectronvolt
|
||||
GeV = gigaelectronvolt
|
||||
TeV = teraelectronvolt
|
||||
PeV = petaelectronvolt
|
||||
|
||||
#
|
||||
# Mass [E][T^2][L^-2]
|
||||
#
|
||||
kilogram = joule*second*second/(meter*meter)
|
||||
gram = 1.e-3*kilogram
|
||||
milligram = 1.e-3*gram
|
||||
|
||||
# symbols
|
||||
kg = kilogram
|
||||
g = gram
|
||||
mg = milligram
|
||||
|
||||
#
|
||||
# Power [E][T^-1]
|
||||
#
|
||||
watt = joule/second # watt = 6.24150 e+3 * MeV/ns
|
||||
|
||||
#
|
||||
# Force [E][L^-1]
|
||||
#
|
||||
newton = joule/meter # newton = 6.24150 e+9 * MeV/mm
|
||||
|
||||
#
|
||||
# Pressure [E][L^-3]
|
||||
#
|
||||
pascal = newton/m2 # pascal = 6.24150 e+3 * MeV/mm3
|
||||
bar = 100000*pascal # bar = 6.24150 e+8 * MeV/mm3
|
||||
atmosphere = 101325*pascal # atm = 6.32420 e+8 * MeV/mm3
|
||||
|
||||
#
|
||||
# Electric current [Q][T^-1]
|
||||
#
|
||||
ampere = coulomb/second # ampere = 6.24150 e+9 * eplus/ns
|
||||
milliampere = 1.e-3*ampere
|
||||
microampere = 1.e-6*ampere
|
||||
nanoampere = 1.e-9*ampere
|
||||
|
||||
#
|
||||
# Electric potential [E][Q^-1]
|
||||
#
|
||||
megavolt = megaelectronvolt/eplus
|
||||
kilovolt = 1.e-3*megavolt
|
||||
volt = 1.e-6*megavolt
|
||||
|
||||
#
|
||||
# Electric resistance [E][T][Q^-2]
|
||||
#
|
||||
ohm = volt/ampere # ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns)
|
||||
|
||||
#
|
||||
# Electric capacitance [Q^2][E^-1]
|
||||
#
|
||||
farad = coulomb/volt # farad = 6.24150e+24 * eplus/Megavolt
|
||||
millifarad = 1.e-3*farad
|
||||
microfarad = 1.e-6*farad
|
||||
nanofarad = 1.e-9*farad
|
||||
picofarad = 1.e-12*farad
|
||||
|
||||
#
|
||||
# Magnetic Flux [T][E][Q^-1]
|
||||
#
|
||||
weber = volt*second # weber = 1000*megavolt*ns
|
||||
|
||||
#
|
||||
# Magnetic Field [T][E][Q^-1][L^-2]
|
||||
#
|
||||
tesla = volt*second/meter2 # tesla =0.001*megavolt*ns/mm2
|
||||
|
||||
gauss = 1.e-4*tesla
|
||||
kilogauss = 1.e-1*tesla
|
||||
|
||||
#
|
||||
# Inductance [T^2][E][Q^-2]
|
||||
#
|
||||
henry = weber/ampere # henry = 1.60217e-7*MeV*(ns/eplus)**2
|
||||
|
||||
#
|
||||
# Temperature
|
||||
#
|
||||
kelvin = 1.
|
||||
|
||||
#
|
||||
# Amount of substance
|
||||
#
|
||||
mole = 1.
|
||||
|
||||
#
|
||||
# Activity [T^-1]
|
||||
#
|
||||
becquerel = 1./second
|
||||
curie = 3.7e+10 * becquerel
|
||||
|
||||
#
|
||||
# Absorbed dose [L^2][T^-2]
|
||||
#
|
||||
gray = joule/kilogram
|
||||
|
||||
#
|
||||
# Luminous intensity [I]
|
||||
#
|
||||
candela = 1.
|
||||
|
||||
#
|
||||
# Luminous flux [I]
|
||||
#
|
||||
lumen = candela*steradian
|
||||
|
||||
#
|
||||
# Illuminance [I][L^-2]
|
||||
#
|
||||
lux = lumen/meter2
|
||||
|
||||
#
|
||||
# Miscellaneous
|
||||
#
|
||||
perCent = 0.01
|
||||
perThousand = 0.001
|
||||
perMillion = 0.000001
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# imported from "PhysicalConstants.h"
|
||||
# ==================================================================
|
||||
pi = 3.14159265358979323846
|
||||
twopi = 2.*pi
|
||||
halfpi = pi/2.
|
||||
pi2 = pi*pi
|
||||
|
||||
#
|
||||
Avogadro = 6.0221367e+23/mole
|
||||
|
||||
# c = 299.792458 mm/ns
|
||||
# c^2 = 898.7404 (mm/ns)^2
|
||||
c_light = 2.99792458e+8 * m/s
|
||||
c_squared = c_light * c_light
|
||||
|
||||
# h = 4.13566e-12 MeV*ns
|
||||
# hbar = 6.58212e-13 MeV*ns
|
||||
# hbarc = 197.32705e-12 MeV*mm
|
||||
h_Planck = 6.6260755e-34 * joule*s
|
||||
hbar_Planck = h_Planck/twopi
|
||||
hbarc = hbar_Planck * c_light
|
||||
hbarc_squared = hbarc * hbarc
|
||||
|
||||
#
|
||||
electron_charge = - eplus # see SystemOfUnits.h
|
||||
e_squared = eplus * eplus
|
||||
|
||||
# amu_c2 - atomic equivalent mass unit
|
||||
# amu - atomic mass unit
|
||||
electron_mass_c2 = 0.51099906 * MeV
|
||||
proton_mass_c2 = 938.27231 * MeV
|
||||
neutron_mass_c2 = 939.56563 * MeV
|
||||
amu_c2 = 931.49432 * MeV
|
||||
amu = amu_c2/c_squared
|
||||
|
||||
# permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
|
||||
# permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
|
||||
mu0 = 4*pi*1.e-7 * henry/m
|
||||
epsilon0 = 1./(c_squared*mu0)
|
||||
|
||||
# electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
|
||||
elm_coupling = e_squared/(4*pi*epsilon0)
|
||||
fine_structure_const = elm_coupling/hbarc
|
||||
classic_electr_radius = elm_coupling/electron_mass_c2
|
||||
electron_Compton_length = hbarc/electron_mass_c2
|
||||
Bohr_radius = electron_Compton_length/fine_structure_const
|
||||
|
||||
alpha_rcl2 = fine_structure_const * classic_electr_radius \
|
||||
* classic_electr_radius
|
||||
twopi_mc2_rcl2 = twopi * electron_mass_c2 \
|
||||
* classic_electr_radius \
|
||||
* classic_electr_radius
|
||||
|
||||
#
|
||||
k_Boltzmann = 8.617385e-11 * MeV/kelvin
|
||||
|
||||
#
|
||||
STP_Temperature = 273.15*kelvin
|
||||
STP_Pressure = 1.*atmosphere
|
||||
kGasThreshold = 10.*mg/cm3
|
||||
|
||||
#
|
||||
universe_mean_density = 1.e-25*g/cm3
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
# This package contains a set of Python interface with Geant4.
|
||||
# ==================================================================
|
||||
"""
|
||||
# $Id: __init__.py 94382 2015-11-13 10:18:01Z gcosmo $
|
||||
__version__ ='10.2.0'
|
||||
__date__ = 'November/2015'
|
||||
# $Id: __init__.py 101648 2016-11-21 08:42:14Z gcosmo $
|
||||
__version__ ='10.3'
|
||||
__date__ = 'November/2016'
|
||||
__author__ = 'K.Murakami (Koichi.Murakami@kek.jp)'
|
||||
|
||||
# import submodules
|
||||
|
||||
@@ -6,7 +6,7 @@ set(TEST_MODULES_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/tests)
|
||||
add_subdirectory(test00/module)
|
||||
add_subdirectory(test01/module)
|
||||
add_subdirectory(test02/module)
|
||||
#add_subdirectory(test03/module EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(test03/module EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(test04/module)
|
||||
add_subdirectory(test05/module)
|
||||
add_subdirectory(test06/module)
|
||||
@@ -20,3 +20,27 @@ add_subdirectory(test13/module)
|
||||
|
||||
# tests for g4py
|
||||
add_subdirectory(gtest01/module)
|
||||
|
||||
# testing
|
||||
add_subdirectory(test00)
|
||||
add_subdirectory(test01)
|
||||
add_subdirectory(test02)
|
||||
add_subdirectory(test03)
|
||||
add_subdirectory(test04)
|
||||
add_subdirectory(test05)
|
||||
add_subdirectory(test06)
|
||||
add_subdirectory(test07)
|
||||
add_subdirectory(test08)
|
||||
add_subdirectory(test09)
|
||||
add_subdirectory(test10)
|
||||
add_subdirectory(test11)
|
||||
add_subdirectory(test12)
|
||||
add_subdirectory(test13)
|
||||
#
|
||||
add_subdirectory(gtest01)
|
||||
add_subdirectory(gtest02)
|
||||
add_subdirectory(gtest03)
|
||||
add_subdirectory(gtest04)
|
||||
add_subdirectory(gtest05)
|
||||
add_subdirectory(gtest06)
|
||||
add_subdirectory(gtest07)
|
||||
|
||||
+561
-217
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
|
||||
# add teting
|
||||
|
||||
add_test(gtest01 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST gtest01
|
||||
PROPERTY ENVIRONMENT
|
||||
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
Executable
+123
@@ -0,0 +1,123 @@
|
||||
#!/usr/bin/python
|
||||
# ==================================================================
|
||||
# python script for Geant4Py test
|
||||
#
|
||||
# gtest01
|
||||
# - check basic control flow
|
||||
# ==================================================================
|
||||
from Geant4 import *
|
||||
import gtest01
|
||||
import random
|
||||
#import thread
|
||||
|
||||
# ==================================================================
|
||||
# user actions in python
|
||||
# ==================================================================
|
||||
class MyPrimaryGeneratorAction(G4VUserPrimaryGeneratorAction):
|
||||
"My Primary Generator Action"
|
||||
|
||||
def __init__(self):
|
||||
G4VUserPrimaryGeneratorAction.__init__(self)
|
||||
self.particleGun= G4ParticleGun(1)
|
||||
|
||||
def GeneratePrimaries(self, event):
|
||||
#dx= random.gauss(0., 0.1)
|
||||
dx=0.
|
||||
self.particleGun.SetParticleMomentumDirection(G4ThreeVector(dx, 0., 1.))
|
||||
self.particleGun.GeneratePrimaryVertex(event)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
class MyRunAction(G4UserRunAction):
|
||||
"My Run Action"
|
||||
|
||||
def BeginOfRunAction(self, run):
|
||||
print "*** #event to be processed (BRA)=",
|
||||
run.GetNumberOfEventToBeProcessed()
|
||||
|
||||
def EndOfRunAction(self, run):
|
||||
print "*** run end run(ERA)=", run.GetRunID()
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
class MyEventAction(G4UserEventAction):
|
||||
"My Event Action"
|
||||
|
||||
#def BeginOfEventAction(self, event):
|
||||
#print "*** current event (BEA)=", event.GetEventID()
|
||||
# pass
|
||||
|
||||
#def EndOfEventAction(self, event):
|
||||
# print "*** current event (EEA)=", event.GetEventID()
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
class MySteppingAction(G4UserSteppingAction):
|
||||
"My Stepping Action"
|
||||
|
||||
def UserSteppingAction(self, step):
|
||||
#print "*** dE/dx in current step=", step.GetTotalEnergyDeposit()
|
||||
track= step.GetTrack()
|
||||
touchable= track.GetTouchable()
|
||||
pv= touchable.GetVolume()
|
||||
#print pv.GetCopyNo()
|
||||
#print touchable.GetReplicaNumber(0)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
class MyField(G4MagneticField):
|
||||
"My Magnetic Field"
|
||||
|
||||
def GetFieldValue(self, pos, time):
|
||||
bfield= G4ThreeVector()
|
||||
bfield.x= 0.
|
||||
bfield.y= 5.*tesla
|
||||
bfield.z= 0.
|
||||
return bfield
|
||||
|
||||
# ==================================================================
|
||||
# main
|
||||
# ==================================================================
|
||||
qMaterials= gtest01.QMaterials()
|
||||
qMaterials.Construct()
|
||||
|
||||
qDC= gtest01.QDetectorConstruction()
|
||||
gRunManager.SetUserInitialization(qDC)
|
||||
|
||||
qPL= gtest01.QPhysicsList()
|
||||
gRunManager.SetUserInitialization(qPL)
|
||||
|
||||
# set user actions...
|
||||
#qPGA= gtest01.QPrimaryGeneratorAction()
|
||||
myPGA= MyPrimaryGeneratorAction()
|
||||
gRunManager.SetUserAction(myPGA)
|
||||
|
||||
#myRA= MyRunAction()
|
||||
#gRunManager.SetUserAction(myRA)
|
||||
|
||||
myEA= MyEventAction()
|
||||
gRunManager.SetUserAction(myEA)
|
||||
|
||||
mySA= MySteppingAction()
|
||||
gRunManager.SetUserAction(mySA)
|
||||
|
||||
# set particle gun
|
||||
#ApplyUICommand("/control/execute gun.mac")
|
||||
#pg= qPGA.GetParticleGun()
|
||||
pg= myPGA.particleGun
|
||||
pg.SetParticleByName("e-")
|
||||
pg.SetParticleEnergy(200.*MeV)
|
||||
pg.SetParticlePosition(G4ThreeVector(0.,0.,-14.9)*cm)
|
||||
|
||||
# magnetic field
|
||||
fieldMgr= gTransportationManager.GetFieldManager()
|
||||
myField= G4UniformMagField(G4ThreeVector(0.,10.*tesla,0.))
|
||||
#myField= MyField()
|
||||
fieldMgr.SetDetectorField(myField)
|
||||
fieldMgr.CreateChordFinder(myField)
|
||||
|
||||
gRunManager.Initialize()
|
||||
|
||||
# visualization
|
||||
gControlExecute("vis.mac")
|
||||
|
||||
# beamOn
|
||||
gRunManager.BeamOn(10)
|
||||
#thread.start_new_thread(gRunManager.BeamOn, (100000))
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
from Geant4 import *
|
||||
import gtest01
|
||||
import random
|
||||
#import thread
|
||||
|
||||
# ==================================================================
|
||||
# user actions in python
|
||||
@@ -114,10 +113,5 @@ fieldMgr.CreateChordFinder(myField)
|
||||
|
||||
gRunManager.Initialize()
|
||||
|
||||
# visualization
|
||||
gControlExecute("vis.mac")
|
||||
|
||||
# beamOn
|
||||
gRunManager.BeamOn(10)
|
||||
#thread.start_new_thread(gRunManager.BeamOn, (100000))
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# add teting
|
||||
|
||||
add_test(gtest02 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST gtest02
|
||||
PROPERTY ENVIRONMENT
|
||||
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
Executable
+133
@@ -0,0 +1,133 @@
|
||||
#!/usr/bin/python
|
||||
# ==================================================================
|
||||
# python script for Geant4Py test
|
||||
#
|
||||
# gtest02
|
||||
# - test for using site-module packages
|
||||
# ==================================================================
|
||||
from Geant4 import *
|
||||
import g4py.Qmaterials, g4py.NISTmaterials
|
||||
import g4py.Qgeom, g4py.ExN01geom, g4py.ExN03geom
|
||||
import g4py.ExN01pl, g4py.EMSTDpl
|
||||
import g4py.ParticleGun, g4py.MedicalBeam
|
||||
|
||||
# ==================================================================
|
||||
# user setup
|
||||
# ==================================================================
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Setup-0 (Q)
|
||||
# ------------------------------------------------------------------
|
||||
def Setup0():
|
||||
# simple materials for Qgeom
|
||||
g4py.Qmaterials.Construct()
|
||||
|
||||
# NIST materials
|
||||
#g4py.NISTmaterials.Construct()
|
||||
|
||||
# normal way for constructing user geometry
|
||||
#qDC= g4py.Qgeom.QDetectorConstruction()
|
||||
#gRunManager.SetUserInitialization(qDC)
|
||||
|
||||
# 2nd way, short-cut way
|
||||
g4py.Qgeom.Construct()
|
||||
|
||||
# primary
|
||||
global primary_position, primary_direction
|
||||
primary_position= G4ThreeVector(0.,0., -14.9*cm)
|
||||
primary_direction= G4ThreeVector(0.2, 0., 1.)
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Setup-1 (ExampleN01)
|
||||
# ------------------------------------------------------------------
|
||||
def Setup1():
|
||||
g4py.ExN01geom.Construct()
|
||||
|
||||
global primary_position, primary_direction
|
||||
primary_position= G4ThreeVector(-2.5*m, 0., 0.)
|
||||
primary_direction= G4ThreeVector(1., 0., 0.)
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Setup-3 (ExampleN03)
|
||||
# ------------------------------------------------------------------
|
||||
def Setup3():
|
||||
#exN03geom= g4py.ExN03geom.ExN03DetectorConstruction()
|
||||
#gRunManager.SetUserInitialization(exN03geom)
|
||||
|
||||
g4py.ExN03geom.Construct()
|
||||
|
||||
global primary_position, primary_direction
|
||||
primary_position= G4ThreeVector(-1.*m, 0., 0.)
|
||||
primary_direction= G4ThreeVector(1., 0., 0.)
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# main
|
||||
# ==================================================================
|
||||
# ------------------------------------------------------------------
|
||||
# randum number
|
||||
# ------------------------------------------------------------------
|
||||
rand_engine= Ranlux64Engine()
|
||||
HepRandom.setTheEngine(rand_engine)
|
||||
HepRandom.setTheSeed(20050830L)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# user setup
|
||||
# ------------------------------------------------------------------
|
||||
Setup0()
|
||||
#Setup1()
|
||||
#Setup3()
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# setup for physics list
|
||||
# ------------------------------------------------------------------
|
||||
# normal way for constructing user physics list
|
||||
#exN01PL= ExN01PhysicsList.ExN01PhysicsList()
|
||||
#gRunManager.SetUserInitialization(exN01PL)
|
||||
|
||||
# 2nd way, short-cut way
|
||||
# geantino + transportation
|
||||
#g4py.ExN01pl.Construct()
|
||||
|
||||
# electron/gamma standard EM
|
||||
g4py.EMSTDpl.Construct()
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# setup for primary generator action
|
||||
# ------------------------------------------------------------------
|
||||
# ------------
|
||||
# Particle Gun
|
||||
# ------------
|
||||
# normal way for constructing user physics list
|
||||
#pgPGA= g4py.ParticleGun.ParticleGunAction()
|
||||
#gRunManager.SetUserAction(pgPGA)
|
||||
#pg= pgPGA.GetParticleGun()
|
||||
|
||||
# 2nd way, short-cut way
|
||||
pg= g4py.ParticleGun.Construct()
|
||||
|
||||
# set parameters of particle gun
|
||||
pg.SetParticleByName("e-")
|
||||
pg.SetParticleEnergy(300.*MeV)
|
||||
pg.SetParticlePosition(primary_position)
|
||||
pg.SetParticleMomentumDirection(primary_direction)
|
||||
|
||||
# ------------
|
||||
# Medical Beam
|
||||
# ------------
|
||||
#beam= g4py.MedicalBeam.Construct()
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# go...
|
||||
# ------------------------------------------------------------------
|
||||
gRunManager.Initialize()
|
||||
|
||||
# visualization
|
||||
gApplyUICommand("/control/execute vis.mac")
|
||||
|
||||
# beamOn
|
||||
#gRunManager.BeamOn(3)
|
||||
|
||||
@@ -125,9 +125,5 @@ pg.SetParticleMomentumDirection(primary_direction)
|
||||
# ------------------------------------------------------------------
|
||||
gRunManager.Initialize()
|
||||
|
||||
# visualization
|
||||
gApplyUICommand("/control/execute vis.mac")
|
||||
|
||||
# beamOn
|
||||
#gRunManager.BeamOn(3)
|
||||
|
||||
gRunManager.BeamOn(10)
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# add teting
|
||||
|
||||
add_test(gtest03 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST gtest03
|
||||
PROPERTY ENVIRONMENT
|
||||
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
Executable
+100
@@ -0,0 +1,100 @@
|
||||
#!/usr/bin/python
|
||||
# ==================================================================
|
||||
# python script for Geant4Py test
|
||||
#
|
||||
# gtest02
|
||||
# - test for using site-module packages
|
||||
# ==================================================================
|
||||
from Geant4 import *
|
||||
import g4py.NISTmaterials
|
||||
import g4py.ezgeom
|
||||
from g4py.ezgeom import G4EzVolume
|
||||
import g4py.EMSTDpl
|
||||
import g4py.ParticleGun
|
||||
|
||||
# ==================================================================
|
||||
# intialize
|
||||
# ==================================================================
|
||||
def Configure():
|
||||
# ------------------------------------------------------------------
|
||||
# setup for materials
|
||||
# ------------------------------------------------------------------
|
||||
# simple materials for Qgeom
|
||||
g4py.NISTmaterials.Construct()
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# setup for geometry
|
||||
# ------------------------------------------------------------------
|
||||
#g4py.Qgeom.Construct()
|
||||
g4py.ezgeom.Construct() # initialize
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# setup for physics list
|
||||
# ------------------------------------------------------------------
|
||||
g4py.EMSTDpl.Construct()
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# setup for primary generator action
|
||||
# ------------------------------------------------------------------
|
||||
g4py.ParticleGun.Construct()
|
||||
gControlExecute("gun.mac")
|
||||
|
||||
# ==================================================================
|
||||
# constructing geometry
|
||||
# ==================================================================
|
||||
def ConstructGeom():
|
||||
print "* Constructing geometry..."
|
||||
# reset world material
|
||||
air= G4Material.GetMaterial("G4_AIR")
|
||||
g4py.ezgeom.SetWorldMaterial(air)
|
||||
|
||||
# target
|
||||
global target
|
||||
target= G4EzVolume("Target")
|
||||
au= G4Material.GetMaterial("G4_Au")
|
||||
target.CreateTubeVolume(au, 0., 1.*cm, 1.*mm)
|
||||
target.PlaceIt(G4ThreeVector(0.,0.,-10.*cm))
|
||||
|
||||
# dummy box
|
||||
global detector_box, detector_box_pv
|
||||
detector_box= G4EzVolume("DetectorBox")
|
||||
detector_box.CreateBoxVolume(air, 20.*cm, 20.*cm, 40.*cm)
|
||||
detector_box_pv= detector_box.PlaceIt(G4ThreeVector(0.,0.,20.*cm))
|
||||
|
||||
# calorimeter
|
||||
global cal
|
||||
cal= G4EzVolume("Calorimeter")
|
||||
nai= G4Material.GetMaterial("G4_SODIUM_IODIDE")
|
||||
cal.CreateBoxVolume(nai, 5.*cm, 5.*cm, 30.*cm)
|
||||
dd= 5.*cm
|
||||
for ical in range(-1, 2):
|
||||
calPos= G4ThreeVector(dd*ical, 0., 0.)
|
||||
print calPos
|
||||
cal.PlaceIt(calPos, ical+1, detector_box)
|
||||
|
||||
|
||||
# ==================================================================
|
||||
# main
|
||||
# ==================================================================
|
||||
# ------------------------------------------------------------------
|
||||
# randum number
|
||||
# ------------------------------------------------------------------
|
||||
rand_engine= Ranlux64Engine()
|
||||
HepRandom.setTheEngine(rand_engine)
|
||||
HepRandom.setTheSeed(20050830L)
|
||||
|
||||
# setup...
|
||||
Configure()
|
||||
ConstructGeom()
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# go...
|
||||
# ------------------------------------------------------------------
|
||||
gRunManager.Initialize()
|
||||
|
||||
# visualization
|
||||
gControlExecute("vis.mac")
|
||||
|
||||
# beamOn
|
||||
#gRunManager.BeamOn(3)
|
||||
|
||||
@@ -92,9 +92,5 @@ ConstructGeom()
|
||||
# ------------------------------------------------------------------
|
||||
gRunManager.Initialize()
|
||||
|
||||
# visualization
|
||||
gControlExecute("vis.mac")
|
||||
|
||||
# beamOn
|
||||
#gRunManager.BeamOn(3)
|
||||
|
||||
gRunManager.BeamOn(10)
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# add teting
|
||||
|
||||
add_test(gtest04 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST gtest04
|
||||
PROPERTY ENVIRONMENT
|
||||
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
@@ -0,0 +1,8 @@
|
||||
# add teting
|
||||
|
||||
add_test(gtest05 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST gtest05
|
||||
PROPERTY ENVIRONMENT
|
||||
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
@@ -0,0 +1,8 @@
|
||||
# add teting
|
||||
|
||||
add_test(gtest06 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST gtest06
|
||||
PROPERTY ENVIRONMENT
|
||||
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
@@ -0,0 +1,8 @@
|
||||
# add teting
|
||||
|
||||
add_test(gtest07 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST gtest07
|
||||
PROPERTY ENVIRONMENT
|
||||
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test00 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test00 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test01 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test01 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test02 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test02 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,3 @@
|
||||
# add teting
|
||||
|
||||
add_test(test03 echo ok)
|
||||
@@ -0,0 +1,9 @@
|
||||
# add teting
|
||||
|
||||
add_test(test04-1 python test1.py)
|
||||
configure_file(test1.py test1.py)
|
||||
set_property(TEST test04-1 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
#
|
||||
add_test(test04-2 python test2.py)
|
||||
configure_file(test2.py test2.py)
|
||||
set_property(TEST test04-2 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test05 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test05 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -33,9 +33,7 @@ print "CMethod(1,10.)=", a.CMethod(1,10.)
|
||||
print "CMethod(1,10.,100.)=", a.CMethod(1,10.,100.)
|
||||
|
||||
print ""
|
||||
print "*** ERRORS!! ***"
|
||||
try:
|
||||
a.AMethod(1,2,3) # error
|
||||
|
||||
|
||||
|
||||
|
||||
except:
|
||||
print "*** ERRORS!! ***"
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test06 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test06 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -48,8 +48,8 @@ print myx.PVMethod()
|
||||
|
||||
print ""
|
||||
x= test06.XBase()
|
||||
print "*** Runtime ERROR will occur!" \
|
||||
" because pure virtual function is called."
|
||||
try:
|
||||
x.PVMethod()
|
||||
|
||||
|
||||
except:
|
||||
print "*** Runtime ERROR occured!" \
|
||||
" because pure virtual function is called."
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test07 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test07 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test08 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test08 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test09 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test09 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test10 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test10 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test11 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test11 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -7,5 +7,8 @@
|
||||
import test11
|
||||
|
||||
a= test11.AClass(1)
|
||||
b= test11.AClass()
|
||||
|
||||
try:
|
||||
b = test11.AClass()
|
||||
except:
|
||||
print "AClass default constructor is not allowed."
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test12 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test12 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
@@ -0,0 +1,5 @@
|
||||
# add teting
|
||||
|
||||
add_test(test13 python test.py)
|
||||
configure_file(test.py test.py)
|
||||
set_property(TEST test13 PROPERTY ENVIRONMENT PYTHONPATH=./module)
|
||||
+124
-124
@@ -1,14 +1,14 @@
|
||||
10
|
||||
|
||||
dir
|
||||
97991
|
||||
svn+ssh://svn.cern.ch/reps/geant4/branches/geant4/_symbols/geant4-10-03-beta-01_branch/examples/.doxygen
|
||||
101938
|
||||
svn+ssh://svn.cern.ch/reps/geant4/branches/geant4/_symbols/geant4-10-03_branch/examples/.doxygen
|
||||
svn+ssh://svn.cern.ch/reps/geant4
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:35.478525Z
|
||||
94627
|
||||
2016-11-24T13:36:54.897332Z
|
||||
101752
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
@@ -66,10 +66,10 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.871201Z
|
||||
043891e899a909487e5a9ec59b570b0f
|
||||
2015-11-24T09:17:12.168368Z
|
||||
94561
|
||||
2016-11-24T13:36:55.732050Z
|
||||
245b372a0f7da4f2adf396e4014ae4fb
|
||||
2016-11-24T13:36:54.897332Z
|
||||
101752
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
@@ -92,7 +92,7 @@ has-props
|
||||
|
||||
|
||||
|
||||
4594
|
||||
5947
|
||||
|
||||
Doxymodules_exoticphysics.h
|
||||
file
|
||||
@@ -100,7 +100,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.876201Z
|
||||
2016-11-24T13:36:09.909638Z
|
||||
1fccc265e8952ba57a0c9bc7830b187b
|
||||
2014-11-13T09:10:24.787758Z
|
||||
86514
|
||||
@@ -202,10 +202,10 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.902202Z
|
||||
f4f839507de57a84a357edb72cb97ce9
|
||||
2015-11-30T08:17:35.478525Z
|
||||
94627
|
||||
2016-11-24T13:36:09.947638Z
|
||||
339126c2f3fc3aafed359daf2136eee8
|
||||
2016-11-24T13:36:54.897332Z
|
||||
101752
|
||||
gcosmo
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@ gcosmo
|
||||
|
||||
|
||||
|
||||
119439
|
||||
120436
|
||||
|
||||
Doxyfile_standalone
|
||||
file
|
||||
@@ -304,10 +304,10 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.915202Z
|
||||
2aaae73a7f76b05f476a4345b5b0cc49
|
||||
2015-11-30T08:17:35.478525Z
|
||||
94627
|
||||
2016-11-24T13:36:09.999639Z
|
||||
9c69e0ec99b2d5b329861ee3b5c43916
|
||||
2016-11-24T13:36:54.897332Z
|
||||
101752
|
||||
gcosmo
|
||||
|
||||
|
||||
@@ -330,7 +330,7 @@ gcosmo
|
||||
|
||||
|
||||
|
||||
2159
|
||||
2652
|
||||
|
||||
Doxymodules_basic.h
|
||||
file
|
||||
@@ -338,7 +338,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.921202Z
|
||||
2016-11-24T13:36:10.011639Z
|
||||
c3f936644d698bb8db99a7fb57ff7ad4
|
||||
2015-11-24T09:17:12.168368Z
|
||||
94561
|
||||
@@ -375,10 +375,10 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.927202Z
|
||||
e3e3bab25517cbcc9eb9c34cbfdb7b01
|
||||
2014-11-13T09:10:24.787758Z
|
||||
86514
|
||||
2016-11-24T13:36:10.016639Z
|
||||
4dafdd370ccbc0fe040a51ec31124883
|
||||
2016-11-14T15:38:27.414883Z
|
||||
101330
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
@@ -401,7 +401,7 @@ has-props
|
||||
|
||||
|
||||
|
||||
2146
|
||||
2590
|
||||
|
||||
generate_standalone.sh
|
||||
file
|
||||
@@ -409,10 +409,10 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-24T09:16:34.503894Z
|
||||
6ea799bf1f8a0b33af751f881452d121
|
||||
2015-11-24T09:17:12.168368Z
|
||||
94561
|
||||
2016-11-24T13:36:10.022639Z
|
||||
02f96a2798610eaa57fcbb7b6f1aa46d
|
||||
2016-11-24T13:36:54.897332Z
|
||||
101752
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
@@ -435,7 +435,7 @@ has-props
|
||||
|
||||
|
||||
|
||||
3061
|
||||
3159
|
||||
|
||||
Doxymodules_parameterisations.h
|
||||
file
|
||||
@@ -443,7 +443,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.936202Z
|
||||
2016-11-24T13:36:10.026639Z
|
||||
e5a5e3aa3b3c38f9f7173d38b39c664c
|
||||
2015-11-24T09:17:12.168368Z
|
||||
94561
|
||||
@@ -477,7 +477,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.941202Z
|
||||
2016-11-24T13:36:10.030639Z
|
||||
ccf55358d6548960dc4713de8ee37733
|
||||
2013-11-11T10:35:14.738616Z
|
||||
76473
|
||||
@@ -511,7 +511,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.945202Z
|
||||
2016-11-24T13:36:10.038639Z
|
||||
01b807b20c72f5c4fc242e66307f8688
|
||||
2014-11-26T09:25:51.113566Z
|
||||
87170
|
||||
@@ -579,10 +579,10 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-18T11:05:40.096893Z
|
||||
eb634c4430bc4a4e275a77efb4518ad9
|
||||
2013-11-11T10:35:14.738616Z
|
||||
76473
|
||||
2016-07-05T13:54:18.382631Z
|
||||
49460cbed52ae78ebea49eaaed7f90c9
|
||||
2016-07-05T13:54:27.324581Z
|
||||
98299
|
||||
gcosmo
|
||||
|
||||
|
||||
@@ -681,7 +681,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.958202Z
|
||||
2016-11-24T13:36:10.059639Z
|
||||
4a7e1b175a8674b21f5cbbca729e29eb
|
||||
2013-11-11T10:35:14.738616Z
|
||||
76473
|
||||
@@ -715,7 +715,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.965202Z
|
||||
2016-11-24T13:36:10.080640Z
|
||||
18ee4d3fa6fc1bd457c1f232294d54b8
|
||||
2014-11-13T09:10:24.787758Z
|
||||
86514
|
||||
@@ -749,10 +749,10 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-18T11:05:40.097893Z
|
||||
3d918b350cfee4176516a730e4ed25b8
|
||||
2015-01-23T11:32:10.495249Z
|
||||
88001
|
||||
2016-07-05T13:54:18.423632Z
|
||||
7b417f6eff4f8fca5629cc5154d3b90c
|
||||
2016-07-05T13:54:27.324581Z
|
||||
98299
|
||||
gcosmo
|
||||
|
||||
|
||||
@@ -775,7 +775,7 @@ gcosmo
|
||||
|
||||
|
||||
|
||||
636
|
||||
951
|
||||
|
||||
Doxymodules_biasing.h
|
||||
file
|
||||
@@ -783,10 +783,10 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.972202Z
|
||||
c5819f28d614774ad4cc2058389764bf
|
||||
2014-11-13T09:10:24.787758Z
|
||||
86514
|
||||
2016-11-24T13:36:10.091640Z
|
||||
e2b7f8321040c6e6708279e6741a61bf
|
||||
2016-11-14T15:38:27.414883Z
|
||||
101330
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
@@ -809,7 +809,7 @@ has-props
|
||||
|
||||
|
||||
|
||||
3427
|
||||
4159
|
||||
|
||||
footer.html
|
||||
file
|
||||
@@ -845,13 +845,47 @@ gcosmo
|
||||
|
||||
1543
|
||||
|
||||
Doxymodules_field.h
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2016-11-24T13:36:10.099640Z
|
||||
9fd64face912a5375fa3659391b6e5f3
|
||||
2016-07-05T13:54:27.324581Z
|
||||
98299
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
3707
|
||||
|
||||
Doxymodules_analysis.h
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.986202Z
|
||||
2016-11-24T13:36:10.105640Z
|
||||
c54b4b3511ebcc6a00808528cca336e8
|
||||
2014-11-13T09:10:24.787758Z
|
||||
86514
|
||||
@@ -879,40 +913,6 @@ has-props
|
||||
|
||||
1332
|
||||
|
||||
Doxymodules_field.h
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.980202Z
|
||||
dc42e815f6f769481b02b2af13d79c59
|
||||
2013-11-11T10:35:14.738616Z
|
||||
76473
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4021
|
||||
|
||||
.README.HowToNavigate.txt
|
||||
file
|
||||
|
||||
@@ -947,47 +947,13 @@ gcosmo
|
||||
|
||||
2215
|
||||
|
||||
Doxymodules_common.h
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.997202Z
|
||||
5728969bfe41fcae3ecf39f4de2f9b5b
|
||||
2015-01-23T11:32:10.495249Z
|
||||
88001
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
731
|
||||
|
||||
Doxymodules_eventgenerator.h
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:04.992202Z
|
||||
2016-11-24T13:36:10.119640Z
|
||||
0c63d1b29908c72f0c612d55bc41ecff
|
||||
2015-11-24T09:17:12.168368Z
|
||||
94561
|
||||
@@ -1015,13 +981,47 @@ has-props
|
||||
|
||||
3604
|
||||
|
||||
Doxymodules_common.h
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2016-11-24T13:36:10.132640Z
|
||||
5728969bfe41fcae3ecf39f4de2f9b5b
|
||||
2015-01-23T11:32:10.495249Z
|
||||
88001
|
||||
gcosmo
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
731
|
||||
|
||||
Doxymodules_new.h
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:05.002202Z
|
||||
2016-11-24T13:36:10.161640Z
|
||||
41ef50a74350d0608f0637c609ec6e42
|
||||
2012-06-27T13:00:49.943577Z
|
||||
60059
|
||||
@@ -1055,7 +1055,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:05.007202Z
|
||||
2016-11-24T13:36:10.167640Z
|
||||
6a15afd64d62e02356ede2702bad50dc
|
||||
2013-11-11T10:35:14.738616Z
|
||||
76473
|
||||
@@ -1123,7 +1123,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:05.015202Z
|
||||
2016-11-24T13:36:10.180640Z
|
||||
4e99f716d85f3a39fc0ce32e6807d006
|
||||
2013-11-11T10:35:14.738616Z
|
||||
76473
|
||||
@@ -1157,7 +1157,7 @@ file
|
||||
|
||||
|
||||
|
||||
2015-11-30T08:17:36.783418Z
|
||||
2016-11-24T13:36:10.190641Z
|
||||
24e78a97bed897922ca67e73e2d83a79
|
||||
2015-11-30T08:17:35.478525Z
|
||||
94627
|
||||
|
||||
@@ -848,7 +848,9 @@ INPUT = Doxymain.h \
|
||||
../extended/hadronic/Hadr04/.README.txt \
|
||||
../extended/hadronic/Hadr05/.README.txt \
|
||||
../extended/hadronic/Hadr06/.README.txt \
|
||||
../extended/hadronic/Hadr07/.README.txt \
|
||||
../extended/hadronic/FissionFragment \
|
||||
../extended/hadronic/NeutronSource/.README.txt \
|
||||
../extended/medical/.README.txt \
|
||||
../extended/medical/DICOM \
|
||||
../extended/medical/electronScattering/.README.txt \
|
||||
@@ -860,10 +862,13 @@ INPUT = Doxymain.h \
|
||||
../extended/medical/dna/chem1/.README.txt \
|
||||
../extended/medical/dna/chem2/.README.txt \
|
||||
../extended/medical/dna/chem3/.README.txt \
|
||||
../extended/medical/dna/chem4/.README.txt \
|
||||
../extended/medical/dna/clustering/.README.txt \
|
||||
../extended/medical/dna/dnaphysics/.README.txt \
|
||||
../extended/medical/dna/microdosimetry/.README.txt \
|
||||
../extended/medical/dna/microyz/.README.txt \
|
||||
../extended/medical/dna/pdb4dna/.README.txt \
|
||||
../extended/medical/dna/range/.README.txt \
|
||||
../extended/medical/dna/svalue/.README.txt \
|
||||
../extended/medical/dna/wholeNuclearDNA/.README.txt \
|
||||
../extended/medical/dna/wvalue/.README.txt \
|
||||
@@ -944,6 +949,14 @@ EXCLUDE = ../basic/B2/B2b/include/B2ActionInitialization.hh \
|
||||
../basic/B2/B2b/src/B2RunAction.cc \
|
||||
../basic/B2/B2b/src/B2TrackerHit.cc \
|
||||
../basic/B2/B2b/src/B2TrackerSD.cc \
|
||||
../basic/B3/B3b/include/B3DetectorConstruction.hh \
|
||||
../basic/B3/B3b/include/B3PhysicsList.hh \
|
||||
../basic/B3/B3b/include/B3PrimaryGeneratorAction.hh \
|
||||
../basic/B3/B3b/include/B3StackingAction.hh \
|
||||
../basic/B3/B3b/src/B3DetectorConstruction.cc \
|
||||
../basic/B3/B3b/src/B3PhysicsList.cc \
|
||||
../basic/B3/B3b/src/B3PrimaryGeneratorAction.cc \
|
||||
../basic/B3/B3b/src/B3StackingAction.cc \
|
||||
../basic/B4/B4b/include/B4Analysis.hh \
|
||||
../basic/B4/B4c/include/B4Analysis.hh \
|
||||
../basic/B4/B4d/include/B4Analysis.hh \
|
||||
@@ -991,6 +1004,7 @@ EXCLUDE = ../basic/B2/B2b/include/B2ActionInitialization.hh \
|
||||
../extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc \
|
||||
../extended/eventgenerator/HepMC/MCTruth/src/PrimaryGeneratorAction.cc \
|
||||
../extended/eventgenerator/pythia/decayer6/common \
|
||||
../extended/parallel/TBB/B2b/exampleB2b.cc \
|
||||
../extended/parallel/TBB/B2b/include/B2ActionInitialization.hh \
|
||||
../extended/parallel/TBB/B2b/include/B2bChamberParameterisation.hh \
|
||||
../extended/parallel/TBB/B2b/include/B2bDetectorConstruction.hh \
|
||||
|
||||
@@ -120,6 +120,37 @@
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_biasing_GB05 GB05
|
||||
* Biasing example GB05
|
||||
* @ingroup extended_biasing
|
||||
* @{
|
||||
*/
|
||||
|
||||
class GB05ActionInitialization {};
|
||||
class GB05BOptnSplitAndKillByCrossSection {};
|
||||
class GB05BOptrSplitAndKillByCrossSection {};
|
||||
class GB05DetectorConstruction {};
|
||||
class GB05PrimaryGeneratorAction {};
|
||||
class GB05SD {};
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_biasing_GB06 GB06
|
||||
* Biasing example GB06
|
||||
* @ingroup extended_biasing
|
||||
* @{
|
||||
*/
|
||||
|
||||
class GB06ActionInitialization {};
|
||||
class GB06BOptnSplitAndKillByImportance {};
|
||||
class GB06BOptrSplitAndKillByImportance {};
|
||||
class GB06DetectorConstruction {};
|
||||
class GB06ParallelWorldForSlices {};
|
||||
class GB06PrimaryGeneratorAction {};
|
||||
class GB06SD {};
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_biasing_ReverseMC01 ReverseMC01
|
||||
* Biasing example ReverseMC01
|
||||
* @ingroup extended_biasing
|
||||
|
||||
@@ -39,13 +39,10 @@
|
||||
class F01EventActionMessenger {};
|
||||
class F01FieldMessenger {};
|
||||
class F01FieldSetup {};
|
||||
class F01PhysicsList {};
|
||||
class F01PhysicsListMessenger {};
|
||||
class F01PrimaryGeneratorAction {};
|
||||
class F01PrimaryGeneratorMessenger {};
|
||||
class F01RunAction {};
|
||||
class F01RunMessenger {};
|
||||
class F01StepCut {};
|
||||
class F01SteppingVerbose {};
|
||||
|
||||
/** @} */
|
||||
@@ -64,13 +61,10 @@
|
||||
class F02EventAction {};
|
||||
class F02EventActionMessenger {};
|
||||
class F02FieldMessenger {};
|
||||
class F02PhysicsList {};
|
||||
class F02PhysicsListMessenger {};
|
||||
class F02PrimaryGeneratorAction {};
|
||||
class F02PrimaryGeneratorMessenger {};
|
||||
class F02RunAction {};
|
||||
class F02RunMessenger {};
|
||||
class F02StepCut {};
|
||||
class F02SteppingVerbose {};
|
||||
|
||||
/** @} */
|
||||
@@ -88,13 +82,10 @@
|
||||
class F03EventActionMessenger {};
|
||||
class F03FieldMessenger {};
|
||||
class F03FieldSetup {};
|
||||
class F03PhysicsList {};
|
||||
class F03PhysicsListMessenger {};
|
||||
class F03PrimaryGeneratorAction {};
|
||||
class F03PrimaryGeneratorMessenger {};
|
||||
class F03RunAction {};
|
||||
class F03RunMessenger {};
|
||||
class F03StepCut {};
|
||||
class F03SteppingVerbose {};
|
||||
|
||||
/** @} */
|
||||
@@ -141,7 +132,6 @@
|
||||
|
||||
class F05ActionInitialization {};
|
||||
class F05DetectorConstruction {};
|
||||
class F05ExtraPhysics {};
|
||||
class F05Field {};
|
||||
class F05PhysicsList {};
|
||||
class F05PrimaryGeneratorAction {};
|
||||
@@ -157,7 +147,6 @@
|
||||
|
||||
class F06ActionInitialization {};
|
||||
class F06DetectorConstruction {};
|
||||
class F06ExtraPhysics {};
|
||||
class F06PhysicsList {};
|
||||
class F06PrimaryGeneratorAction {};
|
||||
|
||||
|
||||
@@ -10,6 +10,74 @@
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr00 Hadr00
|
||||
* The Hadr00 hadronic classes have their
|
||||
* <a href="../html_Hadr00/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr01 Hadr01
|
||||
* The Hadr01 hadronic classes have their
|
||||
* <a href="../html_Hadr01/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr02 Hadr02
|
||||
* The Hadr02 hadronic classes have their
|
||||
* <a href="../html_Hadr02/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr03 Hadr03
|
||||
* The Hadr03 hadronic classes have their
|
||||
* <a href="../html_Hadr03/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr04 Hadr04
|
||||
* The Hadr04 hadronic classes have their
|
||||
* <a href="../html_Hadr04/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr05 Hadr05
|
||||
* The Hadr05 hadronic classes have their
|
||||
* <a href="../html_Hadr05/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr06 Hadr06
|
||||
* The Hadr06 hadronic classes have their
|
||||
* <a href="../html_Hadr06/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr07 Hadr07
|
||||
* The Hadr07 hadronic classes have their
|
||||
* <a href="../html_Hadr05/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @defgroup extended_hadronic_FissionFragment FissionFragment
|
||||
* Hadronic example FissionFragment
|
||||
* @ingroup extended_hadronic
|
||||
@@ -23,66 +91,13 @@
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr00 Hadr00
|
||||
* The shared hadronic classes have their
|
||||
* <a href="../html_Hadr00/html/index.html">standalone documentation </a>
|
||||
/** @defgroup extended_hadronic_NeutronSource NeutronSource
|
||||
* The NeutronSource hadronic classes have their
|
||||
* <a href="../html_NeutronSource/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr01 Hadr01
|
||||
* The shared hadronic classes have their
|
||||
* <a href="../html_Hadr01/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr02 Hadr02
|
||||
* The shared hadronic classes have their
|
||||
* <a href="../html_Hadr02/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr03 Hadr03
|
||||
* The shared hadronic classes have their
|
||||
* <a href="../html_Hadr03/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr04 Hadr04
|
||||
* The shared hadronic classes have their
|
||||
* <a href="../html_Hadr04/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr05 Hadr05
|
||||
* The shared hadronic classes have their
|
||||
* <a href="../html_Hadr05/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_hadronic_Hadr06 Hadr06
|
||||
* The shared hadronic classes have their
|
||||
* <a href="../html_Hadr05/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_hadronic
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
/** @} */
|
||||
|
||||
@@ -32,6 +32,34 @@
|
||||
class DicomRunAction {};
|
||||
class DicomRun {};
|
||||
|
||||
/** @defgroup extended_medical_DICOM_dicomReader dicomReader
|
||||
* dicomReader in medical example DICOM
|
||||
* @ingroup extended_medical_DICOM
|
||||
* @{
|
||||
*/
|
||||
|
||||
class DicomBeam {};
|
||||
class DicomBeamBlock {};
|
||||
class DicomBeamCompensator {};
|
||||
class DicomBeamControlPoint {};
|
||||
class DicomBeamDevice {};
|
||||
class DicomBeamDevicePos {};
|
||||
class DicomBeamDeviceRef {};
|
||||
class DicomBeamWedge {};
|
||||
class DicomFileCT {};
|
||||
class DicomFileCT_NOdcmrt {};
|
||||
class DicomFileMgr {};
|
||||
class DicomFilePET {};
|
||||
class DicomFilePlan {};
|
||||
class DicomFileStructure {};
|
||||
class DicomROI {};
|
||||
class DicomROIContour {};
|
||||
class DicomVBeamDevice {};
|
||||
class DicomVFile {};
|
||||
class DicomVFileImage {};
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_medical_electronScattering electronScattering
|
||||
@@ -94,7 +122,7 @@
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_medical_dna_chem2 chem2
|
||||
* Medical dna chem1 example has its
|
||||
* Medical dna chem2 example has its
|
||||
* <a href="../html_chem2/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_medical_dna
|
||||
* @{
|
||||
@@ -103,7 +131,7 @@
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_medical_dna_chem3 chem3
|
||||
* Medical dna chem1 example has its
|
||||
* Medical dna chem3 example has its
|
||||
* <a href="../html_chem3/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_medical_dna
|
||||
* @{
|
||||
@@ -111,6 +139,24 @@
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_medical_dna_chem4 chem4
|
||||
* Medical dna chem4 example has its
|
||||
* <a href="../html_chem4/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_medical_dna
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_medical_dna_clustering clustering
|
||||
* Medical dna chem4 example has its
|
||||
* <a href="../html_clustering/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_medical_dna
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_medical_dna_dnaphysics dnaphysics
|
||||
* Medical dna dnaphysics example has its
|
||||
* <a href="../html_dnaphysics/html/index.html">standalone documentation </a>
|
||||
@@ -147,6 +193,15 @@
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_medical_dna_range range
|
||||
* Medical dna range example has its
|
||||
* <a href="../html_range/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_medical_dna
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_medical_dna_svalue svalue
|
||||
* Medical dna svalue example has its
|
||||
* <a href="../html_svalue/html/index.html">standalone documentation </a>
|
||||
|
||||
@@ -18,6 +18,21 @@ track of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
24/11/16 I.Hrivnacova (doxygen-V10-02-03)
|
||||
- Added new examples extended/medical/dna/clustering,range
|
||||
|
||||
14/11/16 I.Hrivnacova (doxygen-V10-02-02)
|
||||
- Updated Doxymodules_medical.h for new dicomReader
|
||||
|
||||
28/09/16 I.Hrivnacova (doxygen-V10-02-01)
|
||||
- Added new examples:
|
||||
extended/hadronic/NeutronSource
|
||||
extended/medical/dna/chem4
|
||||
|
||||
05/07/16 I.Hrivnacova (doxygen-V10-02-00)
|
||||
- Updated configuration files (suppressed warnings from files present in more examples)
|
||||
- Added new example hadronic/Hadr07
|
||||
|
||||
27/11/15 I.Hrivnacova (doxygen-V10-01-03)
|
||||
- Added extended/parallel/MPI/source classes in the documentation
|
||||
|
||||
|
||||
@@ -18,3 +18,9 @@ To generate Doxygen documentation for all examples:
|
||||
(a standalone documentation will be generated for each example)
|
||||
./generate_standalone.sh
|
||||
|
||||
To extract coding guildelines violations from Doxygen output
|
||||
(requires using patched Doxygen):
|
||||
|
||||
cat doxygen*.out | grep "### Geant4 guidelines violation: data member" >> data_members_violations.txt
|
||||
cat doxygen*.out | grep "### Geant4 guidelines violation: function member" >> function_members_violations.txt
|
||||
|
||||
|
||||
@@ -34,8 +34,8 @@ h1 {
|
||||
font-size: 130%;
|
||||
}
|
||||
h2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
h3 {
|
||||
font-size: 110%;
|
||||
}
|
||||
h3 {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
@@ -45,12 +45,12 @@ generate() {
|
||||
}
|
||||
|
||||
# process examples in second level directory in extended
|
||||
for DIR in analysis/shared analysis/AnaEx01 analysis/AnaEx02 analysis/AnaEx03 electromagnetic/TestEm0 electromagnetic/TestEm1 electromagnetic/TestEm2 electromagnetic/TestEm3 electromagnetic/TestEm4 electromagnetic/TestEm5 electromagnetic/TestEm6 electromagnetic/TestEm7 electromagnetic/TestEm8 electromagnetic/TestEm9 electromagnetic/TestEm10 electromagnetic/TestEm11 electromagnetic/TestEm12 electromagnetic/TestEm13 electromagnetic/TestEm14 electromagnetic/TestEm15 electromagnetic/TestEm16 electromagnetic/TestEm17 electromagnetic/TestEm18 eventgenerator/particleGun eventgenerator/exgps eventgenerator/userPrimaryGenerator exoticphysics/monopole geometry/transforms hadronic/Hadr00 hadronic/Hadr01 hadronic/Hadr02 hadronic/Hadr03 hadronic/Hadr04 hadronic/Hadr05 hadronic/Hadr06 medical/electronScattering medical/electronScattering2 medical/fanoCavity medical/fanoCavity2 medical/GammaTherapy polarisation/Pol01 radioactivedecay/rdecay01 radioactivedecay/rdecay02; do
|
||||
for DIR in analysis/shared analysis/AnaEx01 analysis/AnaEx02 analysis/AnaEx03 electromagnetic/TestEm0 electromagnetic/TestEm1 electromagnetic/TestEm2 electromagnetic/TestEm3 electromagnetic/TestEm4 electromagnetic/TestEm5 electromagnetic/TestEm6 electromagnetic/TestEm7 electromagnetic/TestEm8 electromagnetic/TestEm9 electromagnetic/TestEm10 electromagnetic/TestEm11 electromagnetic/TestEm12 electromagnetic/TestEm13 electromagnetic/TestEm14 electromagnetic/TestEm15 electromagnetic/TestEm16 electromagnetic/TestEm17 electromagnetic/TestEm18 eventgenerator/particleGun eventgenerator/exgps eventgenerator/userPrimaryGenerator exoticphysics/monopole geometry/transforms hadronic/Hadr00 hadronic/Hadr01 hadronic/Hadr02 hadronic/Hadr03 hadronic/Hadr04 hadronic/Hadr05 hadronic/Hadr06 hadronic/Hadr07 hadronic/NeutronSource medical/electronScattering medical/electronScattering2 medical/fanoCavity medical/fanoCavity2 medical/GammaTherapy polarisation/Pol01 radioactivedecay/rdecay01 radioactivedecay/rdecay02; do
|
||||
generate ${DIR} ${BACK_PATH2}
|
||||
done
|
||||
|
||||
# process examples in third level directory in extended
|
||||
for DIR in parallel/TopC/ParN02 parallel/TopC/ParN04 medical/dna/chem1 medical/dna/chem2 medical/dna/chem3 medical/dna/dnaphysics medical/dna/microdosimetry medical/dna/microyz medical/dna/pdb4dna medical/dna/svalue medical/dna/wholeNuclearDNA medical/dna/wvalue; do
|
||||
for DIR in parallel/TopC/ParN02 parallel/TopC/ParN04 medical/dna/chem1 medical/dna/chem2 medical/dna/chem3 medical/dna/chem4 medical/dna/clustering medical/dna/dnaphysics medical/dna/microdosimetry medical/dna/microyz medical/dna/pdb4dna medical/dna/range medical/dna/svalue medical/dna/wholeNuclearDNA medical/dna/wvalue; do
|
||||
generate ${DIR} ${BACK_PATH3}
|
||||
done
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,53 @@
|
||||
// $Id$
|
||||
|
||||
/// \file Doxymain.h
|
||||
/// \brief The main page for Geant4 Examples code documenation
|
||||
|
||||
/*! \mainpage Geant4 Examples
|
||||
|
||||
This module collects four sets of user examples aimed to demonstrate to
|
||||
the user how to make correct use of the GEANT4 toolkit by implementing
|
||||
in a correct way those user-classes which the user is supposed to
|
||||
customize in order to define his/her own simulation setup.
|
||||
|
||||
The <b>"basic"</b> set of examples is oriented to novice users and covering
|
||||
the most typical use-cases of a Geant4 application with keeping simplicity
|
||||
and ease of use.
|
||||
|
||||
An <b>"extended"</b> set of examples may require some additional libraries besides
|
||||
of Geant4. This set covers many specific use cases for actual detector
|
||||
simulation.
|
||||
|
||||
An <b>"advanced"</b> set of examples covers the use-cases typical of a
|
||||
"toolkit"-oriented kind of development, where real complete applications
|
||||
for different simulation studies are provided; may require additional third
|
||||
party products to be built.
|
||||
|
||||
Most of the examples can be run both in interactive and batch mode, and
|
||||
input macro files (*.in) and reference output files (*.out) are provided.
|
||||
Basic and most of the extended examples are considered part of the
|
||||
system testing suite for validation of the official releases of the
|
||||
GEANT4 toolkit. Basic and some of the extended and advanced
|
||||
examples are also used as "acceptance"-tests for the release process.
|
||||
|
||||
See more on each examples category pages:
|
||||
- \ref README_basic
|
||||
- \ref README_extended
|
||||
- <a href="https://twiki.cern.ch/twiki/bin/view/Geant4/AdvancedExamples">
|
||||
<b>Advanced Examples </b></a>
|
||||
|
||||
The previous set of examples oriented to novice users, <b>"novice"</b>,
|
||||
has been refactored in "basic" and "extended" examples sets in Geant4 10.0.
|
||||
The information about the original set of these examples can be found at
|
||||
\link README_novice this page \endlink.
|
||||
|
||||
And more on what is common for all examples:
|
||||
- \ref README_HowToRun
|
||||
- \ref README_HowToRunMT
|
||||
- \ref README_HowToNavigate
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
// $Id$
|
||||
|
||||
/// \file Doxymain.h
|
||||
/// \brief The main page for Geant4 Examples code documenation
|
||||
|
||||
/*! \mainpage Geant4 Examples
|
||||
|
||||
This module collects four sets of user examples aimed to demonstrate to
|
||||
the user how to make correct use of the GEANT4 toolkit by implementing
|
||||
in a correct way those user-classes which the user is supposed to
|
||||
customize in order to define his/her own simulation setup.
|
||||
|
||||
The <b>"basic"</b> set of examples is oriented to novice users and covering
|
||||
the most typical use-cases of a Geant4 application with keeping simplicity
|
||||
and ease of use.
|
||||
|
||||
An <b>"extended"</b> set of examples may require some additional libraries besides
|
||||
of Geant4. This set covers many specific use cases for actual detector
|
||||
simulation.
|
||||
|
||||
An <b>"advanced"</b> set of examples covers the use-cases typical of a
|
||||
"toolkit"-oriented kind of development, where real complete applications
|
||||
for different simulation studies are provided; may require additional third
|
||||
party products to be built.
|
||||
|
||||
Most of the examples can be run both in interactive and batch mode, and
|
||||
input macro files (*.in) and reference output files (*.out) are provided.
|
||||
Basic and most of the extended examples are considered part of the
|
||||
system testing suite for validation of the official releases of the
|
||||
GEANT4 toolkit. Basic and some of the extended and advanced
|
||||
examples are also used as "acceptance"-tests for the release process.
|
||||
|
||||
See more on each examples category pages:
|
||||
- \ref README_basic
|
||||
- \ref README_extended
|
||||
- <a href="https://twiki.cern.ch/twiki/bin/view/Geant4/AdvancedExamples">
|
||||
<b>Advanced Examples </b></a>
|
||||
|
||||
The previous set of examples oriented to novice users, <b>"novice"</b>,
|
||||
has been refactored in "basic" and "extended" examples sets in Geant4 10.0.
|
||||
The information about the original set of these examples can be found at
|
||||
\link README_novice this page \endlink.
|
||||
|
||||
And more on what is common for all examples:
|
||||
- \ref README_HowToRun
|
||||
- \ref README_HowToRunMT
|
||||
- \ref README_HowToNavigate
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
// $Id$
|
||||
|
||||
/// \file Doxymain.h
|
||||
/// \brief The main page for Geant4 Examples code documenation
|
||||
|
||||
/*! \mainpage Geant4 Examples
|
||||
|
||||
This module collects four sets of user examples aimed to demonstrate to
|
||||
the user how to make correct use of the GEANT4 toolkit by implementing
|
||||
in a correct way those user-classes which the user is supposed to
|
||||
customize in order to define his/her own simulation setup.
|
||||
|
||||
The <b>"basic"</b> set of examples is oriented to novice users and covering
|
||||
the most typical use-cases of a Geant4 application with keeping simplicity
|
||||
and ease of use.
|
||||
|
||||
An <b>"extended"</b> set of examples may require some additional libraries besides
|
||||
of Geant4. This set covers many specific use cases for actual detector
|
||||
simulation.
|
||||
|
||||
An <b>"advanced"</b> set of examples covers the use-cases typical of a
|
||||
"toolkit"-oriented kind of development, where real complete applications
|
||||
for different simulation studies are provided; may require additional third
|
||||
party products to be built.
|
||||
|
||||
Most of the examples can be run both in interactive and batch mode, and
|
||||
input macro files (*.in) and reference output files (*.out) are provided.
|
||||
Basic and most of the extended examples are considered part of the
|
||||
system testing suite for validation of the official releases of the
|
||||
GEANT4 toolkit. Basic and some of the extended and advanced
|
||||
examples are also used as "acceptance"-tests for the release process.
|
||||
|
||||
See more on each examples category pages:
|
||||
- \ref README_basic
|
||||
- \ref README_extended
|
||||
- <a href="https://twiki.cern.ch/twiki/bin/view/Geant4/AdvancedExamples">
|
||||
<b>Advanced Examples </b></a>
|
||||
|
||||
The previous set of examples oriented to novice users, <b>"novice"</b>,
|
||||
has been refactored in "basic" and "extended" examples sets in Geant4 10.0.
|
||||
The information about the original set of these examples can be found at
|
||||
\link README_novice this page \endlink.
|
||||
|
||||
And more on what is common for all examples:
|
||||
- \ref README_HowToRun
|
||||
- \ref README_HowToRunMT
|
||||
- \ref README_HowToNavigate
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
// $Id$
|
||||
|
||||
/// \file Doxymain.h
|
||||
/// \brief The main page for Geant4 Examples code documenation
|
||||
|
||||
/*! \mainpage Geant4 Examples
|
||||
|
||||
This module collects four sets of user examples aimed to demonstrate to
|
||||
the user how to make correct use of the GEANT4 toolkit by implementing
|
||||
in a correct way those user-classes which the user is supposed to
|
||||
customize in order to define his/her own simulation setup.
|
||||
|
||||
The <b>"basic"</b> set of examples is oriented to novice users and covering
|
||||
the most typical use-cases of a Geant4 application with keeping simplicity
|
||||
and ease of use.
|
||||
|
||||
An <b>"extended"</b> set of examples may require some additional libraries besides
|
||||
of Geant4. This set covers many specific use cases for actual detector
|
||||
simulation.
|
||||
|
||||
An <b>"advanced"</b> set of examples covers the use-cases typical of a
|
||||
"toolkit"-oriented kind of development, where real complete applications
|
||||
for different simulation studies are provided; may require additional third
|
||||
party products to be built.
|
||||
|
||||
Most of the examples can be run both in interactive and batch mode, and
|
||||
input macro files (*.in) and reference output files (*.out) are provided.
|
||||
Basic and most of the extended examples are considered part of the
|
||||
system testing suite for validation of the official releases of the
|
||||
GEANT4 toolkit. Basic and some of the extended and advanced
|
||||
examples are also used as "acceptance"-tests for the release process.
|
||||
|
||||
See more on each examples category pages:
|
||||
- \ref README_basic
|
||||
- \ref README_extended
|
||||
- <a href="https://twiki.cern.ch/twiki/bin/view/Geant4/AdvancedExamples">
|
||||
<b>Advanced Examples </b></a>
|
||||
|
||||
The previous set of examples oriented to novice users, <b>"novice"</b>,
|
||||
has been refactored in "basic" and "extended" examples sets in Geant4 10.0.
|
||||
The information about the original set of these examples can be found at
|
||||
\link README_novice this page \endlink.
|
||||
|
||||
And more on what is common for all examples:
|
||||
- \ref README_HowToRun
|
||||
- \ref README_HowToRunMT
|
||||
- \ref README_HowToNavigate
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
// $Id$
|
||||
// The example class categories definitions for Doxygen
|
||||
|
||||
/// \file Doxymodules_analysis.h
|
||||
/// \brief The page that defines the extended/analysis examples modules
|
||||
|
||||
|
||||
/** @defgroup extended_analysis analysis
|
||||
* Extended examples analysis classes
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @defgroup extended_analysis_AnaEx01 AnaEx01
|
||||
* Analysis AnaEx01 example has its
|
||||
* <a href="../html_AnaEx01/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_analysis
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_analysis_AnaEx02 AnaEx02
|
||||
* Analysis AnaEx02 example has its
|
||||
* <a href="../html_AnaEx02/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_analysis
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_analysis_AnaEx03 AnaEx03
|
||||
* Analysis AnaEx03 example has its
|
||||
* <a href="../html_AnaEx03/html/index.html">standalone documentation </a>
|
||||
* @ingroup extended_analysis
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup extended_analysis_B1Con B1Con
|
||||
* Analysis example B1Con
|
||||
* @ingroup extended_analysis
|
||||
* @{
|
||||
*/
|
||||
|
||||
class B1ConActionInitialization{};
|
||||
class B1ConRunAction{};
|
||||
class B1ConRun{};
|
||||
class B1DetectorConstruction{};
|
||||
class B1EventAction{};
|
||||
class B1PrimaryGeneratorAction{};
|
||||
class B1Run{};
|
||||
class B1SteppingAction{};
|
||||
|
||||
/** @} */
|
||||
|
||||
|
||||
/** @} */
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user