| Summary: | QBBC physics constructor and HadronPhysicsElasticHP | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Michel.Maire |
| Component: | physics_lists | Assignee: | Vladimir.Ivantchenko |
| Status: | ASSIGNED --- | ||
| Severity: | minor | CC: | Alberto.Ribon, michel.maire, Vladimir.Ivantchenko |
| Priority: | P4 | ||
| Version: | 11.1 | ||
| Hardware: | All | ||
| OS: | All | ||
| Attachments: | PhysicsList.cc of Hadr06 | ||
|
Description
Michel.Maire
2023-08-22 15:06:57 CEST
Hi Michel, the problem should be fixed in 11.2. Would it be possible to recheck? Cheers, Vladimir Created attachment 854 [details]
PhysicsList.cc of Hadr06
the situation is unchanged. I join PhysicsList.cc of Hadr06. You can run hadr06.in Hi Michel,
in these examples hadronic physics is custom. This means, that it is needed for each new release to review custom builders and update if needed.
Since 11.1 QBBC enables Neutron General Process by default, which is incompatible with HP and will never be compatible. In 11.2 a protection was added into G4ElasticPhysicsHP in order to exclude such situation. So, if in a custom physics G4HadronElasticPhysicsHP is use there will be no crash, no problem. I have checked this in Hadr03.
In examples with this crash there are following possibilities to fix:
1) in README and macro put a comment that QBBC cannot be used with HP.
2) Switch from HadronElasticPhysicsHP to G4HadronElasticPhysicsHP.
3) Edit HadronElasticPhysicsHP adding:
G4HadronicParameters::Instance()->SetEnableNeutronGeneralProcess(false);
I would recommend to use 2). to me other two are not good. In general, making local physics constructors is always a problem - example may start failing or getting wrong results at any moment. Very difficult to control on evolution of hadronics in all examples/tests if Physics Lists are custom.
Vladimir
OK, but HadronPhysicsElasticHP, including thermal scattering, was designed before the existence of G4HadronPhysicsElasticHP ... Hi Michel, it is not possible to change something in the code. It is needed to fix Hadr05, Hadr06, Hadr07, NeutronSource, Activation in one or another way. Vladimir |