Import Geant4 10.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2019-12-06 15:12:28 +01:00
parent b2a62ae692
commit 5baee230e9
2997 changed files with 141580 additions and 98673 deletions
+8
View File
@@ -40,6 +40,14 @@ if(NOT GEANT4_FOUND)
message(FATAL_ERROR "NOT Found Geant4.")
endif()
if(NOT DEFINED BOOST_PYTHON_LIB)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
set(BOOST_PYTHON_LIB boost_python)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
set(BOOST_PYTHON_LIB boost_python3)
endif()
endif()
#------------------------------------------------------------------------------
# parameters for building
message(STATUS "--------------------------------------------------------")
+5
View File
@@ -11,6 +11,11 @@ Geant4Py is a Geant4-Python bridge.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
1 Dec. 2019 K. Murakami
- update for 10.6 release
- update for Python3 support
- boost_python library name can be specified in cmake (BZ-2059)
31 Jan. 2019, I.Hrivnacova
- Merged GitHub PR #4: all Boolean operators now return G4bool.
+7 -4
View File
@@ -24,9 +24,8 @@ ROOT for histogramming/analysis
### Tested Platforms
* CentOS7 (RH7 clones)
* OSX (High Siera)
* CentOS7 (Python2)
* Ubuntu 18.04 LTS (Python3)
How to Install
--------------
@@ -40,7 +39,7 @@ then
# mkdir build
# cd build
# cmake ..
# cmake ..
# make
# make install
@@ -67,7 +66,11 @@ Python module search directories, given by a colon-separated list of directories
# export PYTHONPATH=<g4py>/lib64:<g4py>/lib64/examples:<g4py>/lib64/tests (zsh, bash)
# setenv PYTHONPATH <g4py>/lib64:<g4py>/lib64/examples:<g4py>/lib64/tests (csh)
### *LD_LIBRARY_PATH*
You might need define LD_LIBRARY_PATH for Geant4 libraries.
# export LD_LIBRARY_PATH=<Geant4 install path>/lib (zsh, bash)
# setenv LD_LIBRARY_PATH=<Geant4 install path>/lib (csh)
### Getting started
You can import Geant4Py modules in Python just like
@@ -16,7 +16,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -17,7 +17,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -16,7 +16,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -19,7 +19,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -16,7 +16,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -16,7 +16,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -16,7 +16,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -16,7 +16,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -16,7 +16,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -16,7 +16,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -22,5 +22,5 @@ add_custom_command (
# install
install (FILES ${PY_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
install (FILES ${PYC_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
install (FILES ${PYO_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
#install (FILES ${PYC_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
#install (FILES ${PYO_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
@@ -22,5 +22,5 @@ add_custom_command (
# install
install (FILES ${PY_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
install (FILES ${PYC_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
install (FILES ${PYO_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
#install (FILES ${PYC_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
#install (FILES ${PYO_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
@@ -22,5 +22,5 @@ add_custom_command (
# install
install (FILES ${PY_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
install (FILES ${PYC_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
install (FILES ${PYO_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
#install (FILES ${PYC_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
#install (FILES ${PYO_FILES} DESTINATION ${G4SITEMODULES_INSTALL_DIR})
@@ -18,7 +18,7 @@ set_target_properties(${_TARGET}
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -23,7 +23,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
+1 -1
View File
@@ -24,7 +24,7 @@ set_target_properties(${_TARGET}
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} ${XERCESC_LIBRARY}
boost_python ${PYTHON_LIBRARIES})
${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${G4MODULES_INSTALL_DIR})
@@ -56,7 +56,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -61,33 +61,29 @@ void export_G4VPhysicalVolume()
// ---
.def("SetTranslation", &G4VPhysicalVolume::SetTranslation)
.def("GetTranslation", &G4VPhysicalVolume::GetTranslation,
return_internal_reference<>())
return_value_policy<return_by_value>())
.def("GetObjectTranslation", &G4VPhysicalVolume::GetObjectTranslation)
.def("GetFrameTranslation", &G4VPhysicalVolume::GetObjectTranslation)
// ---
.def("SetRotation", &G4VPhysicalVolume::SetRotation)
.def("GetRotation", f1_GetRotation,
return_internal_reference<>())
return_internal_reference<>())
.def("GetRotation", f2_GetRotation,
return_internal_reference<>())
return_internal_reference<>())
.def("GetObjectRotationValue", &G4VPhysicalVolume::GetObjectRotationValue)
.def("GetFrameRotation", &G4VPhysicalVolume::GetFrameRotation,
return_internal_reference<>())
return_internal_reference<>())
// ---
.def("SetLogicalVolume", &G4VPhysicalVolume::SetLogicalVolume)
.def("SetMotherLogical", &G4VPhysicalVolume::SetMotherLogical)
.def("GetLogicalVolume", &G4VPhysicalVolume::GetLogicalVolume,
return_internal_reference<>())
return_internal_reference<>())
.def("GetMotherLogical", &G4VPhysicalVolume::GetMotherLogical,
return_internal_reference<>())
return_internal_reference<>())
// ---
.def("SetName", &G4VPhysicalVolume::SetName)
#if G4VERSION_NUMBER <= 801
.def("GetName", &G4VPhysicalVolume::GetName)
#else
.def("GetName", &G4VPhysicalVolume::GetName,
return_value_policy<return_by_value>())
#endif
.def("SetCopyNo", &G4VPhysicalVolume::SetCopyNo)
.def("GetCopyNo", &G4VPhysicalVolume::GetCopyNo)
// ---
@@ -96,7 +92,6 @@ void export_G4VPhysicalVolume()
.def("IsParameterised", &G4VPhysicalVolume::IsParameterised)
.def("GetMultiplicity", &G4VPhysicalVolume::GetMultiplicity)
.def("GetParameterisation", &G4VPhysicalVolume::GetParameterisation,
return_value_policy<reference_existing_object>())
return_value_policy<reference_existing_object>())
;
}
@@ -36,9 +36,8 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${G4MODULES_INSTALL_DIR})
@@ -18,7 +18,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -20,7 +20,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -17,7 +17,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -24,7 +24,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -29,7 +29,6 @@
// 2005 Q
// ====================================================================
#include <boost/python.hpp>
#include "G4Version.hh"
#include "G4Material.hh"
using namespace boost::python;
@@ -45,6 +44,14 @@ void (G4Material::*f1_AddElement)(G4Element*, G4int)
void (G4Material::*f2_AddElement)(G4Element*, G4double)
= &G4Material::AddElement;
// GetMaterial
G4Material* (*f1_GetMaterial)(const G4String&, G4bool)
= &G4Material::GetMaterial;
G4Material* (*f2_GetMaterial)(G4double, G4double, G4double)
= &G4Material::GetMaterial;
G4Material* (*f3_GetMaterial)(size_t, G4double)
= &G4Material::GetMaterial;
BOOST_PYTHON_FUNCTION_OVERLOADS(f_GetMaterial, G4Material::GetMaterial, 1, 2)
// raw pointer -> Python list conversion
@@ -156,9 +163,12 @@ void export_G4Material()
.def("GetNumberOfMaterials", &G4Material::GetNumberOfMaterials)
.staticmethod("GetNumberOfMaterials")
.def("GetIndex", &G4Material::GetIndex)
.def("GetMaterial", &G4Material::GetMaterial,
f_GetMaterial()
[return_value_policy<reference_existing_object>()])
.def("GetMaterial", f1_GetMaterial, f_GetMaterial()
[return_value_policy<reference_existing_object>()])
.def("GetMaterial", f2_GetMaterial,
return_value_policy<reference_existing_object>())
.def("GetMaterial", f3_GetMaterial,
return_value_policy<reference_existing_object>())
.staticmethod("GetMaterial")
// ---
//.def(self_ns::str(self))
@@ -173,4 +183,3 @@ void export_G4Material()
.value("kStateGas", kStateGas)
;
}
@@ -23,7 +23,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -17,7 +17,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -25,7 +25,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
+2 -2
View File
@@ -7,8 +7,8 @@
# This package contains a set of Python interface with Geant4.
# ==================================================================
"""
__version__ ='10.5'
__date__ = 'December/2018'
__version__ ='10.6'
__date__ = 'December/2019'
__author__ = 'K.Murakami (Koichi.Murakami@kek.jp)'
# import submodules
@@ -5,8 +5,8 @@ file (GLOB PY_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.py)
foreach (_pyfile ${PY_FILES})
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/${_pyfile}
${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} COPYONLY)
list (APPEND PYC_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_pyfile}c")
list (APPEND PYO_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_pyfile}o")
#list (APPEND PYC_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_pyfile}c")
#list (APPEND PYO_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_pyfile}o")
endforeach()
add_custom_target (Geant4Py ALL)
@@ -20,7 +20,8 @@ add_custom_command (
)
# install
install (FILES ${PY_FILES} DESTINATION ${G4MODULES_INSTALL_DIR})
install (FILES ${PYC_FILES} DESTINATION ${G4MODULES_INSTALL_DIR})
install (FILES ${PYO_FILES} DESTINATION ${G4MODULES_INSTALL_DIR})
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/__pycache__
DESTINATION ${G4MODULES_INSTALL_DIR})
#install (FILES ${PYC_FILES} DESTINATION ${G4MODULES_INSTALL_DIR})
#install (FILES ${PYO_FILES} DESTINATION ${G4MODULES_INSTALL_DIR})
+2 -5
View File
@@ -7,8 +7,8 @@
# This package contains a set of Python interface with Geant4.
# ==================================================================
"""
__version__ ='10.5'
__date__ = 'December/2018'
__version__ ='10.6'
__date__ = 'December/2019'
__author__ = 'K.Murakami (Koichi.Murakami@kek.jp)'
# import submodules
@@ -85,9 +85,6 @@ gParticleIterator = PyG4ParticleList()
# gProcessTable
gProcessTable = G4ProcessTable.GetProcessTable()
# gLossTableManager
gLossTableManager = G4LossTableManager.Instance()
# gProductionCutsTable
gProductionCutsTable = G4ProductionCutsTable.GetProductionCutsTable()
+1 -1
View File
@@ -25,7 +25,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -21,7 +21,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -19,7 +19,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -42,7 +42,7 @@ set_target_properties(${_TARGET}
BUILD_WITH_INSTALL_RPATH TRUE)
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
+16 -12
View File
@@ -24,18 +24,22 @@ 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)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
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)
endif()
#
add_subdirectory(gtest01)
add_subdirectory(gtest02)
@@ -1,7 +1,13 @@
# add teting
add_test(gtest01 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST gtest01
PROPERTY ENVIRONMENT
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
@@ -27,7 +27,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "gtest01")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET}
${GEANT4_LIBRARIES_WITH_VIS} boost_python
${GEANT4_LIBRARIES_WITH_VIS} ${BOOST_PYTHON_LIB}
${PYTHON_LIBRARIES})
# install
@@ -69,7 +69,7 @@ class MyField(G4MagneticField):
bfield.y= 5.*tesla
bfield.z= 0.
return bfield
# ==================================================================
# main
# ==================================================================
@@ -89,7 +89,7 @@ gRunManager.SetUserAction(myPGA)
#myRA= MyRunAction()
#gRunManager.SetUserAction(myRA)
myEA= MyEventAction()
gRunManager.SetUserAction(myEA)
@@ -113,9 +113,6 @@ fieldMgr.CreateChordFinder(myField)
gRunManager.Initialize()
# visualization
gControlExecute("vis.mac")
# beamOn
gRunManager.BeamOn(10)
gTerminate()
@@ -1,7 +1,13 @@
# add teting
add_test(gtest02 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST gtest02
PROPERTY ENVIRONMENT
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
@@ -1,7 +1,13 @@
# add teting
add_test(gtest03 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST gtest03
PROPERTY ENVIRONMENT
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
@@ -1,7 +1,13 @@
# add teting
add_test(gtest04 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST gtest04
PROPERTY ENVIRONMENT
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
@@ -1,7 +1,13 @@
# add teting
add_test(gtest05 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST gtest05
PROPERTY ENVIRONMENT
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
+13 -12
View File
@@ -20,7 +20,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
self.air= gNistManager.FindOrBuildMaterial("G4_AIR")
self.lv_object= None
self.world= self.ConstructWorld()
self.va_red= G4VisAttributes(G4Color(1.,0.,0.))
self.va_cyan= G4VisAttributes(G4Color(0.,1.,1.))
self.va_green= G4VisAttributes(G4Color(0.,1.,0.))
@@ -34,7 +34,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
global sld_world, lv_world, pv_world, va_world
sld_world= G4Box("world", 1.*m, 1.*m, 1.*m)
lv_world= G4LogicalVolume(sld_world, self.air, "world")
lv_world= G4LogicalVolume(sld_world, self.air, "world")
pv_world= G4PVPlacement(G4Transform3D(), lv_world, "world",
None, False, 0)
@@ -58,7 +58,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
self.lv_object.SetSolid(sld_box)
self.lv_object.SetVisAttributes(self.va_red)
gRunManager.GeometryHasBeenModified()
# -----------------------------------------------------------------
def ConstructTubs(self):
global sld_tubs
@@ -66,7 +66,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
self.lv_object.SetSolid(sld_tubs)
self.lv_object.SetVisAttributes(self.va_cyan)
gRunManager.GeometryHasBeenModified()
# -----------------------------------------------------------------
def ConstructCons(self):
global sld_cons
@@ -114,7 +114,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
# -----------------------------------------------------------------
def ConstructOrb(self):
global sld_orb
sld_orb= G4Orb("orb", 100.*cm)
sld_orb= G4Orb("orb", 100.*cm)
self.lv_object.SetSolid(sld_orb)
self.lv_object.SetVisAttributes(self.va_red)
gRunManager.GeometryHasBeenModified()
@@ -122,7 +122,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
# -----------------------------------------------------------------
def ConstructTorus(self):
global sld_torus
sld_torus= G4Torus("torus", 40.*cm, 60.*cm, 200.*cm, 0., 90.*deg)
sld_torus= G4Torus("torus", 40.*cm, 60.*cm, 200.*cm, 0., 90.*deg)
self.lv_object.SetSolid(sld_torus)
self.lv_object.SetVisAttributes(self.va_magenta)
gRunManager.GeometryHasBeenModified()
@@ -164,7 +164,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
# -----------------------------------------------------------------
def ConstructEllipticalTube(self):
global sld_et
sld_et= G4EllipticalTube("ellipticaltube", 5.*cm, 10.*cm, 20.*cm)
sld_et= G4EllipticalTube("ellipticaltube", 5.*cm, 10.*cm, 20.*cm)
self.lv_object.SetSolid(sld_et)
self.lv_object.SetVisAttributes(self.va_cyan)
gRunManager.GeometryHasBeenModified()
@@ -182,7 +182,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
def ConstructEllipticalCone(self):
global sld_ec
sld_ec= G4EllipticalCone("ellipticalcone", 30.*cm, 60.*cm,
50.*cm, 25.*cm)
50.*cm, 25.*cm)
self.lv_object.SetSolid(sld_ec)
self.lv_object.SetVisAttributes(self.va_magenta)
gRunManager.GeometryHasBeenModified()
@@ -249,8 +249,8 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
# -----------------------------------------------------------------
def Construct(self): # return the world volume
return self.world
return self.world
# ==================================================================
# main
# ==================================================================
@@ -304,7 +304,8 @@ f_list= (
for s,f in f_list:
f.__call__()
gRunManager.BeamOn(1)
gRunManager.BeamOn(1)
fname= "%s.wrl" % (s)
os.rename("g4_00.wrl", fname)
gTerminate()
@@ -1,7 +1,13 @@
# add teting
add_test(gtest06 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST gtest06
PROPERTY ENVIRONMENT
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
+11 -11
View File
@@ -19,7 +19,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
self.air= gNistManager.FindOrBuildMaterial("G4_AIR")
self.lv_object= None
self.world= self.ConstructWorld()
self.va_red= G4VisAttributes(G4Color(1.,0.,0.))
self.va_cyan= G4VisAttributes(G4Color(0.,1.,1.))
self.va_green= G4VisAttributes(G4Color(0.,1.,0.))
@@ -36,7 +36,7 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
global sld_world, lv_world, pv_world, va_world
sld_world= G4Box("world", 1.*m, 1.*m, 1.*m)
lv_world= G4LogicalVolume(sld_world, self.air, "world")
lv_world= G4LogicalVolume(sld_world, self.air, "world")
pv_world= G4PVPlacement(G4Transform3D(), lv_world, "world",
None, False, 0)
@@ -56,16 +56,16 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
# -----------------------------------------------------------------
def ConstructUnion(self):
global sld_union
sld_union= G4UnionSolid("box+cylinder", self.sld_box, self.sld_cyl);
sld_union= G4UnionSolid("box+cylinder", self.sld_box, self.sld_cyl);
self.lv_object.SetSolid(sld_union)
self.lv_object.SetVisAttributes(self.va_blue)
gRunManager.GeometryHasBeenModified()
# -----------------------------------------------------------------
def ConstructIntersection(self):
offset= G4ThreeVector(20.*cm, 20.*cm, 0.)
global sld_intersection
global sld_intersection
sld_intersection= G4IntersectionSolid("box*cylinder",
self.sld_box, self.sld_cyl,
None, offset)
@@ -76,18 +76,18 @@ class MyDetectorConstruction(G4VUserDetectorConstruction):
# -----------------------------------------------------------------
def ConstructSubtraction(self):
global sld_subtraction
global sld_subtraction
sld_subtraction= G4SubtractionSolid("box-cylinder",
self.sld_box, self.sld_cyl)
self.lv_object.SetSolid(sld_subtraction)
self.lv_object.SetVisAttributes(self.va_red)
gRunManager.GeometryHasBeenModified()
# -----------------------------------------------------------------
def Construct(self): # return the world volume
return self.world
return self.world
# ==================================================================
# main
# ==================================================================
@@ -122,5 +122,5 @@ for s,f in f_list:
fname= "%s.jpg" % (s)
cmdstr= "/vis/rayTracer/trace " + fname
gApplyUICommand(cmdstr)
gTerminate()
@@ -1,7 +1,13 @@
# add teting
add_test(gtest07 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST gtest07
PROPERTY ENVIRONMENT
PYTHONPATH=./module:${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
@@ -1,5 +1,11 @@
# add teting
add_test(test00 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST test00 PROPERTY ENVIRONMENT PYTHONPATH=./module)
@@ -19,8 +19,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test00")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/python3
# ==================================================================
# python script for Geant4Py test
#
#
# ==================================================================
import test00
print("importing created module...\n")
print(test00.greet())
@@ -1,5 +1,11 @@
# add teting
add_test(test01 python test.py)
configure_file(test.py test.py)
if (${PYTHON_VERSION_MAJOR} MATCHES "2")
configure_file(test.py test.py)
elseif (${PYTHON_VERSION_MAJOR} MATCHES "3")
configure_file(python3/test.py test.py)
endif()
set_property(TEST test01 PROPERTY ENVIRONMENT PYTHONPATH=./module)
@@ -20,8 +20,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test01")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/python3
# ==================================================================
# python script for Geant4Py test
#
#
# ==================================================================
import test01
print("importing created module...\n")
a= test01.AClass()
b= test01.AClass(0)
c= test01.AClass(1, 1.)
print(" >>a<<", a.AMethod())
print(" >>b<<", b.AMethod())
print(" >>c<<", c.AMethod())
@@ -22,8 +22,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test02")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -20,8 +20,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test03")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -21,7 +21,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test04")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -21,8 +21,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test05")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -21,8 +21,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test06")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -19,8 +19,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test07")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -19,8 +19,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test08")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -19,8 +19,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test09")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -46,7 +46,7 @@ public:
AClass operator+(const AClass& aclass) {
AClass atemp;
atemp.ival= ival + aclass.ival;
atemp.ival= ival + aclass.ival;
return atemp;
}
@@ -55,7 +55,7 @@ public:
return *this;
}
G4bool operator==(const AClass& aclass) const {
bool operator==(const AClass& aclass) const {
if(ival == aclass.ival) return true;
return false;
}
@@ -84,4 +84,3 @@ BOOST_PYTHON_MODULE(test09)
.def(self_ns::str(self))
;
}
@@ -19,8 +19,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test10")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -19,8 +19,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test11")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -20,8 +20,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test12")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})
@@ -19,8 +19,7 @@ set_target_properties(${_TARGET} PROPERTIES OUTPUT_NAME "test13")
set_target_properties(${_TARGET} PROPERTIES SUFFIX ".so")
target_link_libraries (${_TARGET} boost_python ${PYTHON_LIBRARIES})
target_link_libraries (${_TARGET} ${BOOST_PYTHON_LIB} ${PYTHON_LIBRARIES})
# install
install(TARGETS ${_TARGET} LIBRARY DESTINATION ${TEST_MODULES_INSTALL_DIR})