Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Setup the project
|
||||
#
|
||||
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
|
||||
cmake_minimum_required(VERSION 3.8...3.18)
|
||||
if(${CMAKE_VERSION} VERSION_LESS 3.12)
|
||||
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
||||
endif()
|
||||
project(doiPET)
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
@@ -17,7 +19,7 @@ else()
|
||||
find_package(Geant4 REQUIRED)
|
||||
endif()
|
||||
|
||||
# Setup of ROOT ANALYSIS : optional.
|
||||
# Setup of ROOT ANALYSIS : optional.
|
||||
option(WITH_ANALYSIS_USE "Build example with analysis objects" OFF)
|
||||
if(WITH_ANALYSIS_USE)
|
||||
add_definitions(-DUSEROOT)
|
||||
@@ -37,7 +39,7 @@ find_package(ROOT REQUIRED)
|
||||
if(WITH_ANALYSIS_USE)
|
||||
EXECUTE_PROCESS(COMMAND root-config --cflags OUTPUT_VARIABLE ROOT_CXX_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ROOT_CXX_FLAGS}")
|
||||
endif(WITH_ANALYSIS_USE)
|
||||
endif(WITH_ANALYSIS_USE)
|
||||
#----------------------------------------------------------------------------
|
||||
# Locate sources and headers for this project
|
||||
# NB: headers are included so they will show up in IDEs
|
||||
@@ -45,8 +47,8 @@ endif(WITH_ANALYSIS_USE)
|
||||
#file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
|
||||
#file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
|
||||
|
||||
include_directories(${PROJECT_SOURCE_DIR}/include
|
||||
${PROJECT_SOURCE_DIR}/shared/include
|
||||
include_directories(${PROJECT_SOURCE_DIR}/include
|
||||
${PROJECT_SOURCE_DIR}/shared/include
|
||||
${Geant4_INCLUDE_DIR}
|
||||
${ROOT_INCLUDE_DIR})
|
||||
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc
|
||||
@@ -77,8 +79,8 @@ set(DOIPET_SCRIPTS
|
||||
run_imageQualityPhantom_smallAnimal.mac
|
||||
run_NECR.mac
|
||||
run_spatialResolution.mac
|
||||
run_sensitivity.mac
|
||||
run_normalization.mac
|
||||
run_sensitivity.mac
|
||||
run_normalization.mac
|
||||
run.mac
|
||||
inputParameter.txt
|
||||
)
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
02.11.2020 - B.Morgan; doiPET-V10-06-00
|
||||
Support same CMake version range as core Geant4
|
||||
|
||||
29.08.2019 - S. Guatelli;doiPET-V10-05-01
|
||||
G4VIS_USE and G4_UI removed
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
(1) Australian Nuclear Science and Technology Organisation, Australia
|
||||
(2) University of Wollongong, Australia
|
||||
(3) National Institute of Radiological Sciences, Japan
|
||||
|
||||
================================================================================================
|
||||
|
||||
================================================================================================
|
||||
|
||||
This example is for simulating depth-of-interaction enabled positron emission tomography (PET) scanner
|
||||
|
||||
@@ -82,16 +82,16 @@ Anger Logic calculation
|
||||
|
||||
In PET analysis, the lines of response (LOR) needed for the image reconstruction is drawn between two opposing crystals. In simulation, these crystals are identified based on the highest energy deposition. In reality, however, errors are introduced in identifying the crystals which includes the Anger Logic calculation. Without additional blurring of the crystal, simulation results will always have a better spatial resolution than experimental measurements. To include the blurring in identifying the crystals, we included the Anger Logic calculation method. The steps in identifying the crystals are as follows:
|
||||
|
||||
Crystal ID in 3D (tangential, axial and DOI directions) are identified with the highest energy deposition and this information along with energy deposition and position interaction is passed into the AngerLogic(�c) function.
|
||||
Crystal ID in 3D (tangential, axial and DOI directions) are identified with the highest energy deposition and this information along with energy deposition and position interaction is passed into the AngerLogic(c) function.
|
||||
Signals (energy deposition) on the PMTs are obtained based on the lateral distance of the PMTs from the interaction position.
|
||||
Anger Logic position calculation is performed based on the signals on each PMT to obtain position interaction in 2D. The response of the PMTs are then shifted based on whether reflector exists between crystals or not. Note that, each layer has different reflector pattern.
|
||||
The new crystal ID is then calculated by comparing the look-up-table which is provided in the code based on a publication from NIRS.
|
||||
|
||||
***** ROOT ANALYSIS
|
||||
|
||||
***** ROOT ANALYSIS
|
||||
To have ROOT Analysis, Be in the build director
|
||||
/Path/doiPET/build/ and type:
|
||||
cmake -DWITH_ANALYSIS_USE=ON -DGeant4_DIR=.... ../
|
||||
|
||||
/Path/doiPET/build/ and type:
|
||||
cmake -DWITH_ANALYSIS_USE=ON -DGeant4_DIR=.... ../
|
||||
|
||||
|
||||
***** How to run a simulation:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user