Problem 1173

Summary: Warning messages from G4ProcessTable::Insert
Product: Geant4 Reporter: Ivana Hrivnacova <ivana>
Component: physics_listsAssignee: kurasige
Status: RESOLVED FIXED    
Severity: normal CC: Gunter.Folger, kurasige, Vladimir.Ivantchenko
Priority: P3    
Version: 9.4   
Hardware: PC   
OS: Linux   
Attachments: the modified N03 example to reproduce the problem
the modified field/field04 example which PL is closer to the real application

Description Ivana Hrivnacova 2011-02-17 17:34:22 CET
Created attachment 100 [details]
the modified N03 example to reproduce the problem

We are getting the following messages during event processing: 
 "G4ProcessTable::Insert : arguments are 0 pointer".
This happens when using a hadronic physics lists (QGSP_BERT, LHEP) where some of the registered processes is inactivated in Init phase.

The problem can be reproduced with the N03 example, after changing the physics list to QGSP_BERT with the attached macro, where msc is inactivated for GenericIon. The output including the messages above is also attached.

The problem was reported by a VMC (http://root.cern.ch/drupal/content/vmc) user. In the VMC application, a specialCuts process  (which applies cuts via G4UserLimits) is added to the processes defined in the Geant4 physics list, and it is inactivated for some particles according to the conditions defined by the user.

The problem does not seem to be critical, but as the message looks worrying.

Thank you,
Comment 1 dennis.herbert.wright 2011-03-07 15:41:20 CET
Looks like a physics list problem to me, or maybe EM because of the msc.
Comment 2 Vladimir.Ivantchenko 2011-03-07 17:12:36 CET
Hello,

The problem should be reproduced in unchanged N03 from Geant4 distribution.

VI
Comment 3 Gunter.Folger 2011-04-07 16:22:55 CEST
This seems to be part of teh EM builders --> reassign to Vladimir
Comment 4 Vladimir.Ivantchenko 2011-05-25 08:58:24 CEST
Deactivation of processes for GenericIon is a problem, because when in hadronic interaction a new type of ion is created the process manager of this ion getting pointers of all processes from GenericIon and do initilisation. If some process is inactive then the logic of this action become very complicate in both places: process management and EM physics table management.

This deactivation is not needed, if one wish to study the effect of multiple scattering it is possible to comment out msc for GenericIon in EM physics builder.

VI

PS. I reporting too late because never was notified about this problem by bugzilla
Comment 5 Ivana Hrivnacova 2011-05-25 17:02:47 CEST
Created attachment 118 [details]
the modified field/field04 example which PL is closer to the real application
Comment 6 Ivana Hrivnacova 2011-05-25 17:05:14 CEST
Hi Vladimir,

In the real application it is not msc which is inactivated but an extra process
(it can be special cuts or step limiter or whatever else). So the conclusion
that inactivating msc for GenericIon is not needed does not solve the problem.
Also a proposed modification of the EM physics builder is not a solution, as we
cannot expect the user to modify the class in Geant4 or Geant4 VMC.

The physics list in extended/field/field04 is closer to the one used in the VMC
applications (where special processes are added to support step limit, user
limits etc.). I attach a patch with a simple modification of field04.in which
also allows to reproduce the problem when UserStepMax process is inactivated.
I hope this will help to find a solution.

Thank you,
Comment 7 Vladimir.Ivantchenko 2011-05-25 20:36:05 CEST
The problem happens when new ion is created, so it is redirected to Hisaya.

Vladimir
Comment 8 kurasige 2011-05-31 05:44:31 CEST
Hello,

The warning message appears because a process for GenericIon is inactivated (Multiple Scattering in this case). It works well without any problem because this warning message
But, I found a small problem in /particle/process/dump command. The inactivated process in each ion created on the fly is displayed as "Active". 
I modified to suppress the warning message and fixed this bug.
(procman-V09-04-04 tag)

I want to comment one thing related to this topic.
The inactivated process in each ion created on the fly can not be activated by 
/particle/process/activate command for GenericIon
nor
/process/activate command.
You need to activate it by
/particle/process/activate command for all ions.

Thank you

  Hisaya