Problem 2236

Summary: Cannot use G4QMD model for proton, neutron and pions.
Product: Geant4 Reporter: Jeonghyeok Park <jhpark95>
Component: processes/hadronic/models/qmdAssignee: dennis.herbert.wright
Status: RESOLVED FIXED    
Severity: normal CC: Alberto.Ribon, jhpark95
Priority: P4    
Version: 10.6   
Hardware: Apple   
OS: Mac OS X   

Description Jeonghyeok Park 2020-04-08 11:16:00 CEST
When users try to use G4QMD model based on JQMD(JAERI QMD) for proton, neutron and pions, there are two types of error messages.

1. When G4QMDReaction is registered in the PhysicsList, other nuclei are good, but not for proton and neutron. If users register the QMD model for proton or neutron, GEANT4 gives us CRITICAL ERROR MESSAGE about Energy non-conservation. I looked up the source code of G4QMD model, I found that the mass number is not conserved. See the code "G4QMDGroundStateNucleus.cc", line 105 and 110. When G4QMDGroundStateNucleus has been initialized, G4QMDGroundStateNucleus sets participants at the beginning of the loop(line 74). After the loop, in the case of proton and neutron, it sets participants one more. I think it should be fixed.

2. For the pions, we also cannot use the QMD model. See the code "G4QMDReaction.cc" line 62. It says when users use the QMD model for pions, GEANT4 gives an error message "There is no GetIsoCrossSection", which G4PiNuclearCrossSection doesn't have. I think it also should be changed to other PionCrossSection classes. I recommend that it would be better to use G4BGGPionElasticXS and G4BGGPionInelasticXS. G4QMDReaction only uses total cross-section to calculate "bmax_0"(line 157).

I was trying to use the G4QMD model for neutron and pions and I found these. I am currently using the fixed GEANT, and hope that these errors should be fixed ASAP.
Comment 1 dennis.herbert.wright 2020-06-04 16:27:11 CEST
The developer of the QMD model is no longer working in Geant4.  I am not an expert in the model, but I will try to fix this.   Would you please send me your code fixes?
I will check and implement them.
Comment 2 Jeonghyeok Park 2020-06-08 07:15:11 CEST
Should I copy and paste my code here?
Or send an e-mail to you?
Comment 3 dennis.herbert.wright 2020-06-08 16:21:25 CEST
Yes, please.
Comment 4 dennis.herbert.wright 2020-06-08 16:22:16 CEST
Sorry, I meant to say yes please send it by e-mail.
Comment 5 dennis.herbert.wright 2020-06-15 23:47:35 CEST
Thank you for your fix of this bug.  Your code has been implemented and builds successfully.  It has now been submitted for testing.  

The fix will likely appear in the next beta release of Geant4 this month or early next month.