| Summary: | EnergyLoss table not found for pi- | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | lebrun |
| Component: | processes/electromagnetic | Assignee: | Michel.Maire |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | major | ||
| Priority: | P2 | ||
| Version: | 1.1 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
I have never experienced this kind of problem. Could you send more information
(the whole PhysicsList e.g.)
best regards
Laszlo
|
I found troubling that, by default, the energy loss process seems to work for proton, but fails for pi- (possibly for pi+). Here is the relevant section of my private PhysicsList.cc } else if ( (particleName == "proton") || particleName == "pi-" || (particleName == "pi+" )) { G4VProcess* aMultipleScattering = new G4MultipleScattering(); G4VProcess* anIonisation = new G4hIonisation(); // G4VProcess* anELoss = new G4hEnergyLoss(); pmanager->AddProcess(anIonisation); pmanager->AddProcess(aMultipleScattering); // pmanager->AddProcess(anELoss); // set ordering for AlongStepDoIt pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep, 1); pmanager->SetProcessOrdering(anIonisation, idxAlongStep, 2); // pmanager->SetProcessOrdering(anELoss, idxAlongStep, 3); // set ordering for PostStepDoIt pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep, 1); pmanager->SetProcessOrdering(anIonisation, idxPostStep, 2); // pmanager->SetProcessOrdering(anELoss, idxPostStep, 3); The proton looses energy: Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 -0.438 -0.0445 -157 799 0 0 0 PreTarget initStep 1 -0.453 -0.0333 -56.9 799 0 100 100 PreTarget User Limit 2 -0.458 -0.0293 -22.5 799 0 34.4 134 Detect_1 Transportation 3 -0.459 -0.029 -20.5 799 0 2 136 Detect_1 User Limit 4 -0.459 -0.0288 -18.5 799 0 2 138 Detect_1 User Limit 5 -0.459 -0.0287 -17.5 799 0 1 139 PreTarget Transportation 6 -0.462 -0.0265 0 799 0 17.5 157 CarbonTarget Transportation 7 -0.858 -0.103 69.7 767 31.4 69.7 227 CarbonTarget hIoni 8 -0.815 0.211 127 738 27.4 57.2 284 CarbonTarget hIoni 9 -0.842 0.457 161 720 16.1 34 318 CarbonTarget hIoni 10 -0.484 0.423 220 689 29.3 59.7 377 CarbonTarget hIoni 11 -2.06 -0.559 409 594 94.1 189 566 CarbonTarget hIoni 12 -1.73 -1.09 429 583 9.51 19.8 586 CarbonTarget hIoni 13 -1.04 -2.39 467 563 18.8 38.5 624 CarbonTarget hIoni 14 -0.394 -3.78 518 536 26.1 50.2 675 CarbonTarget hIoni 15 -0.09 -4.03 530 529 6.57 12.4 687 CarbonTarget LElastic 16 2.78 -5.09 555 360 13.6 25 712 CarbonTarget inelastic then interacts, produces a pi-, then, * G4Track Information: Particle = pi-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0.42 0.111 46 97.7 0 0 0 CarbonTarget initStep G4EnergyLossTables::GetTables: table not found! *** G4Exception: Aborting execution *** Program received signal SIGABRT, Aborted. 0x40043811 in __kill () Current language: auto; currently c (gdb) where #0 0x40043811 in __kill () #1 0x4004363f in raise (sig=6) at ../sysdeps/posix/raise.c:27 #2 0x4004484f in abort () at ../sysdeps/generic/abort.c:83 #3 0x81f1b4c in G4Exception () at src/G4MagIntegratorDriver.cc:439 #4 0x80aeaca in G4hEnergyLoss::GetConstraints () at src/G4MagIntegratorDriver.cc:439 #5 0x80b3c98 in G4hEnergyLoss::GetContinuousStepLimit () at src/G4MagIntegratorDriver.cc:439 #6 0x81712da in G4VContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength () at src/G4MagIntegratorDriver.cc:439 #7 0x80df806 in G4SteppingManager::Stepping () at src/G4MagIntegratorDriver.cc:439 #8 0x80d7a42 in G4TrackingManager::ProcessOneTrack () at src/G4MagIntegratorDriver.cc:439 #9 0x806bb54 in G4EventManager::ProcessOneEvent () at src/G4MagIntegratorDriver.cc:439 #10 0x805845b in G4RunManager::DoEventLoop () at src/G4MagIntegratorDriver.cc:439 #11 0x8057f5e in G4RunManager::BeamOn () at src/G4MagIntegratorDriver.cc:439 #12 0x804ba89 in main (argc=2, argv=0xbffff5e0) at proton2.cc:98