Problem 2192

Summary: Regular Parameterised Navigation Malfunctioning since 4.10.02.p03
Product: Geant4 Reporter: marcmorcos359
Component: geometry/navigationAssignee: Pedro.Arce
Status: RESOLVED FIXED    
Severity: major CC: ckoernig
Priority: P4    
Version: 10.5   
Hardware: All   
OS: All   
Attachments: Dose distribution on 10.05.p01 using SetRegularStructureId(1) and kXAxis for parameterisation
Working dose distribution on 10.02.p02 using SetRegularStructureId(1) and kXAxis for parameterisation
Working (but slow/uses memory) dose distribution on 10.05.p01 using kUndefined for parameterisation and not using SetRegularStructureId(1)

Description marcmorcos359 2019-09-18 17:58:22 CEST
Created attachment 589 [details]
Dose distribution on 10.05.p01 using SetRegularStructureId(1) and kXAxis for parameterisation

We notice strange behavior in the dose distribution on a voxelized patient geometry after upgrading from 10.02.p02.


We have our patient geometry in a real world and have a (brachytherapy) source in the parallel mass world.
For our test we expect to see an isotropic dose distribution. Voxel parameterisation is done using:

... G4PVParameterised *phantom_phys = new G4PVParameterised("phantom_phys_real", phantomVoxel_log, PatientRealBoxLV, kXAxis, param->GetNoVoxel(), param); 
... phantom_phys->SetRegularStructureId(1);


In version 4.10.02.p02, this gives us the expected dose distribution.
In versions 4.10.02.p03 to 4.10.05.p01 (most recent version of geant4 at the time of this ticket), the distribution is not correct (see attachment).


Two ways that seem to remedy the issue (on 10.05.p01):
 1) Remove SetRegularStructureId and change kXAxis to kUndefined. However this is slower and seems to eat up memory. 

 2) Rolling back source/geometry/navigation/src/G4PhantomParameterisation.cc to what it was in 10.02.p02 remedies the problem on newer versions of Geant4.


Thank you,
Marc Morcos
Comment 1 marcmorcos359 2019-09-18 18:00:44 CEST
Created attachment 590 [details]
Working dose distribution on 10.02.p02 using SetRegularStructureId(1) and kXAxis for parameterisation
Comment 2 marcmorcos359 2019-09-18 18:01:47 CEST
Created attachment 591 [details]
Working (but slow/uses memory) dose distribution on 10.05.p01 using kUndefined for parameterisation and not using SetRegularStructureId(1)
Comment 3 Pedro.Arce 2019-10-31 18:05:35 CET
I went back to 10.02.p02. Thanks.