| Summary: | Parent track re-weighting in processes is broken | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Tom Roberts <tjrob> |
| Component: | track | Assignee: | kurasige |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | kurasige, Marc.Verderi |
| Priority: | P2 | ||
| Version: | 9.4 | ||
| Hardware: | All | ||
| OS: | All | ||
|
Description
Tom Roberts
2011-08-24 19:00:58 CEST
I forgot to mention that after each of the DoIt functions the track should always be updated, even if this process is killing it, so its values will be correct in PostUserTrackingAction(). Re-assigning to the "track" component, the location of ParticleChange. Thank you for reporting the problems related to treatments of weight. Treatments of track weight in ParticleChange has not been checked long time. So, inconsistencies and remains as you pointed out. I modified G4VParticleChange and related classes as you suggested. A) always set the parent track's weight to the value set by ProposeParentWeight() method for all particle change classes. (I move ProposeWeight() method to G4VParticleChange but it is same as ProposeParentWeight()) B) remove fSetParentWeightByProcess and all related code. (related methods remains but they have no effects. Warning message appears if they are called.) C)SetSecondaryWeightByProcess() flag is set to true in default. And documentation has been fixed. D)Behaviours are same for all derived classes. (track-V09-04-09 is the bug fixed tag) |