pre-assign secondary track IDs in ProcessSecondariesFromParticleChange
Add G4EventManager::ReserveNextTrackID() to atomically increment and return the next track ID counter. Call it from G4SteppingManager:: ProcessSecondariesFromParticleChange() so that each secondary has its track ID set before UserSteppingAction fires. G4EventManager::StackTracks is updated to skip re-assignment when GetTrackID() != 0 (pre-assigned). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -59,6 +59,10 @@ class G4EventManager
|
||||
static G4EventManager* GetEventManager();
|
||||
// This method returns the singleton pointer of G4EventManager.
|
||||
|
||||
G4int ReserveNextTrackID();
|
||||
// Pre-assign the next sequential track ID to a secondary being born inside
|
||||
// G4SteppingManager, so that its ID is available in UserSteppingAction.
|
||||
|
||||
G4EventManager();
|
||||
~G4EventManager();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user