Problem 579

Summary: G4EnergyLossTables:: dE/dx table not found for anti_proton
Product: Geant4 Reporter: rikard.sandstrom
Component: processes/hadronicAssignee: Hans-Peter.Wellisch
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: P2    
Version: 5.2   
Hardware: PC   
OS: Linux   

Description rikard.sandstrom 2004-02-11 08:39:18 CET
This is a bug that seems related to #113.

While simulating mu+, with some p+ and pi+ contamination, traversing through
various materials and fields, we get after 60000 events (muons):

G4EnergyLossTables:: dE/dx table not found for anti_proton

and a crash with a core dump.

Antiprotons are not mentioned anywhere in the physics list, since they are
irrelevant for the simulation results.

Adding
          // Anti Proton
          theLEAntiProtonModel = new G4LEAntiProtonInelastic();
          theAntiProtonInelastic = new G4AntiProtonInelasticProcess();
          theAntiProtonInelastic->RegisterMe(theLEAntiProtonModel);
          theAntiProtonIonisation = new G4hIonisation();
          theAntiProtonMult = new G4MultipleScattering();
          pmanager->AddDiscreteProcess(theAntiProtonInelastic);
          pmanager->AddProcess(theAntiProtonIonisation, ordInActive,2, 2);
          pmanager->AddProcess(theAntiProtonMult);
          pmanager->SetProcessOrdering(theAntiProtonMult, idxAlongStep, 1);
          pmanager->SetProcessOrdering(theAntiProtonMult, idxPostStep, 1);

to the physics list solves the bug. I am not very happy though if this needs to
be done for every irrelevant particle that might show up in the experiment.
Comment 1 Hans-Peter.Wellisch 2004-02-17 06:26:59 CET
Hi,

  this is actually a 'feature'. geant4 is made as a toolkit, and ou have to
declare the physics you want in your physics list. The problem ou have is real
of course, and was addressed by creating a set of 'educated guess' physics lists
when hadrons are involved. Please have a look in

http://cmsdoc.cern.ch/~hpw/GHAD/HomePage/

Many greetings,

Hans-Peter.