Problem 964

Summary: G4 Crashed when ActivateAuger(true)
Product: Geant4 Reporter: porosev
Component: processes/electromagnetic/lowenergyAssignee: alfonso.mantero
Status: RESOLVED FIXED    
Severity: critical CC: incerti
Priority: P5    
Version: 9.0   
Hardware: PC   
OS: Windows   
Attachments: printscreens while crash...

Description porosev 2007-08-27 12:40:43 CEST
Hello all!

I use G4 under windows and I try to simulate space resolution of a gas detector
filled with Xe for gammas with energy 20keV. When I start simutation without Auger electrons all works stable, but when I add the line in phisics list:
theLEPhotoElectric->ActivateAuger(true) all crashed!!! The crash happens in:

G4AtomicDeexitation.cc(line 395): G4int numberOfPossibleAuger =  
(anAugerTransition->AugerTransitionProbabilities(transitionRandomShellId))->size
();   

More interesting the fact, that value of "numberOfPossibleAuger" variable is never used!!! and it change the value just immediately in the cycle. I changed the code, to simple create the variable (see below) and all start to work stable!!!

G4int numberOfPossibleAuger;  
// = (anAugerTransition->AugerTransitionProbabilities(transitionRandomShellId))->size();

Please fix this bug....

Additionally.. in the file 
g4atomicdeexcitation.cc( line107) : warning C4701: potentially uninitialized local variable 'aParticle' used....

Please initiate the aParticle variable too...

Sincerely Yours,
Viacheslav Porosev
Comment 1 Maria.Grazia.Pia 2007-08-27 17:47:16 CEST
The problem report is reassigned to the developer responsible for atomic relaxation.
Comment 2 alfonso.mantero 2007-08-28 19:59:32 CEST
I cannot reproduce this problem.
Can you post some informations about your system?

Thanx,

alf
Comment 3 porosev 2007-12-25 10:05:35 CET
Created attachment 11 [details]
printscreens while crash...
Comment 4 porosev 2007-12-25 10:22:05 CET
Dear colleague...

Recently, I rebuild G4.9.1 and problem when Auger activated still presents at the same place.. I made an attachment, where computer screen while crash is shown ... bug-1.jpg illustrates it.

G4 crash when it try to GenerateAuger for Z=36 and shellID=1 and it could't to find correct "shellID" in "AugerTransitionProbabilities" method... 
see details on bug-2.jpg.

The previously suggested method lets to fix the problem….

Sincerely Yours,
Viacheslav Porosev
Comment 5 porosev 2009-07-28 07:05:50 CEST
Hello all!

I would like to say that G492_patch01 suffer from the same problem in the same place.

The "AugerTransitionProbabilities(transitionRandomShellId)" could not get shellId when transitionRandomShellId is equals to 1.  The previuosly mentioned solution helps!!

Sincerely Yours,
Viacheslav Porosev

G4DynamicParticle* G4AtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId)
{
...
Lines 390 etc...

    G4int transitionRandomShellId = 1;
      G4int augerIndex = 0;
      partSum = 0; 
      G4double partialProb = G4UniformRand();
      // G4int augerOriginatingShellId = 0;
      
      G4int numberOfPossibleAuger;// = 
//	  (anAugerTransition->AugerTransitionProbabilities(transitionRandomShellId))->size();
Comment 6 Sebastien Incerti 2010-12-19 18:24:51 CET
Please use Geant4 version 9.4