| Summary: | G4WrapperProcess class does not work in MT | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Andrea Dotti <andrea.dotti> |
| Component: | processes | Assignee: | John Apostolakis <John.Apostolakis> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | minor | CC: | andrea.dotti |
| Priority: | P5 | ||
| Version: | 10.0 | ||
| Hardware: | All | ||
| OS: | All | ||
*** This problem has been marked as a duplicate of problem 1623 *** Note this is not related to problems number #1594 |
The class G4WrapperProcess does not work correctly in MT mode, because the SetMasterProcess method does not propagate the call to the "wrapped" process. Thus the wrapped process has, as pointer of the master process, the wrapper process itself. The problem can be easily fixed via: virtual void G4WrapperProcess::SetMasterProcess(G4VProcess* masterP) { pRegProcess->SetMasterProcess(static_cast<G4WrapperProcess*>(masterP)->GetRegisteredProcess() ); }; I will make a patch. Andrea