Problem 2580

Summary: Ion fluctuation model abruptly changes above 10*Z*A MeV
Product: Geant4 Reporter: Brian Sierawski <brian.sierawski>
Component: processes/electromagnetic/standardAssignee: Vladimir.Ivantchenko
Status: ASSIGNED ---    
Severity: normal    
Priority: P4    
Version: 11.0   
Hardware: All   
OS: All   
Attachments: Energy deposition plots

Description Brian Sierawski 2023-12-07 19:08:20 CET
Created attachment 840 [details]
Energy deposition plots

The variance in energy deposition suddenly collapses above a threshold ion energy. Simulations of a 1um thick silicon detector demonstrate this effect in our custom v9.6 application as well as the v11.0 version of G4SEE. According to the G4IonFluctuations.cc code, this seems to happen at 10 MeV * projectileZ * projectileA. Several ions, including protons, were tested and show the effect. Attached image shows the energy deposition from 70 GeV vs 71 GeV Xenon ions (Z=54,A=131) through the detector (v9.6). G4SEE v11.0.3 script included for reference.

#  
# G4SEE Single Event Effect simulation toolkit
# ============================================
# SPDX-FileCopyrightText: © 2022 CERN for the benefit of the G4SEE Collaboration <https://cern.ch/g4see>
# SPDX-License-Identifier: CC-BY-4.0
#
##########################################
### Example input macro file for G4SEE ###
##########################################

/run/numberOfThreads                1
/run/printProgress                  1000
/tracking/verbose                   0          # use only for testing

##############

### Geometry

# BULK                              MATERIAL            WIDTH unit  THICK unit  BIAS
/SEE/geometry/Bulk                  G4_Si               100. um     1. um     true

# SV                                POSITION unit       WIDTH unit  THICK unit  BIAS
/SEE/geometry/SV                    0 0 0 nm         100 100 um  1 um      true

##############
### Biasing
/SEE/biasing/biasParticle           proton
/SEE/biasing/biasProcess            protonInelastic
/SEE/biasing/biasFactor             100

##############
### Physics
/SEE/physics/addPhysics             G4EmStandardPhysics_option4         # Default EM physics
/SEE/physics/addPhysics             G4HadronElasticPhysics              # a hadron elastic physics module
/SEE/physics/addPhysics             G4HadronPhysicsFTFP_BERT            # a hadron inelastic physics module

# Particle production range cuts
/SEE/physics/setGammaCut            1 mm                                # only gamma
#/SEE/physics/setElectronCut         500 nm                              # only e-
/SEE/physics/setPositronCut         100 nm                              # only e+
/SEE/physics/setHadronCut           1 nm                                # applicable to protons and all other hadrons


##############
### Initialize
/run/initialize

##############
### Primaries (General Particle Source)
/gps/particle                       ion
/gps/ion			    54 131 0 0
/gps/ene/mono                       71 GeV
/gps/direction                      0 0 -1
/gps/pos/centre                     0 0 10 um
/gps/pos/type                       Plane
/gps/pos/shape                      Rectangle
/gps/pos/halfx                      1.5 um
/gps/pos/halfy                      1.5 um

##############
### Scoring
/SEE/scoring/addScoring             0       Edep
/SEE/scoring/setHistogram           log     100 eV   1 GeV     600

/SEE/scoring/dumpHistogramsAfter    5000

##############
### Run
/run/beamOn                         10000
Comment 1 Vladimir.Ivantchenko 2024-01-30 13:01:39 CET
Hello Brian,

thank you very much for this report. A simple fix is added and will be available with the first patch to Geant4 11.2, which may be available in February. Also it will be added to the next patch to 11.1, which is not yet scheduled.

Patches to earlier releases are not expected. If need that, the only practical thing is to make a private patch. If you need this I can provivide the change privately.

Vladimir
Comment 2 Vladimir.Ivantchenko 2024-01-31 19:55:22 CET
Hello Brian,

as a patch to G4IonFluctuations.cc it is enough to change the line 117 (in the current version of the code). The new line would be:

if(dp->GetKineticEnergy() > parameter*effChargeSquare*particleMass) {

This would guarantee stability of fluctuations for heavy ions. At the same time, we have started a review of this class. In few months we may propose an update, which would be better justified by existing literature and/or data.

Vladimir