Get Process Type and SubType Table

Hello,

I see that every process gets a type and a subtype. Is there any table with Process Name | Process Type | Process Subtype that I can check before actually simulating anything?

I know that I can get this information with the following lines

step->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessType();

step->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessSubType();

but I want to get this information before so that in my steppingAction I can perform validations like

if(process_subtype == x){}

I believe that information is part of the “OrdParamTable.” There’s a UI command in G4UserPhysicsListMessenger to dump it to the terminal, but I’m not finding the command in my executable.

…Oh, lovely. so G4UserPhysicsListMessenger doesn’t define commands under /physics_lists/, as you might guess from the name. It defines a bunch of commands under /run/particle/.

The macro command you want is /run/particle/dumpOrderingParam with no argument. That gives you the full list of processes, type codes, and subtype codes. The subtype codes have to be globally unique, so there’s a one-to-one mapping from process name directly to subtype.

Note that this command only tells you about Geant4 built-in processes, and it lists all “known” Geant4 processes, whether they are in your physics list or not. If you have your own custom processes in your physics list, or if you’re linking in libraries which provide other processes, those will not be included in the list.

You can get information for the processes of a given particle,

/particle/select e-
/particle/process/dump

but it won’t tell you the subtype assignment; it gives you the process name and the type as a string.

I think the macro command /run/particle/dumpOrderingParam gives me pretty much what I was looking for.

Thank you!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.