Does Geant4 Scoring Output Merge Results from All Threads in Multithreading?

Hello Geant4 community,

I am running a multithreaded simulation with Geant4 and using the scoring manager to calculate energy deposition in a mesh. Below is part of my setup:



G4Random::setTheEngine(new CLHEP::RanecuEngine);
G4Random::setTheSeed(33);
G4MTRunManager *runManager = new G4MTRunManager();
G4ScoringManager *scoringManager = G4ScoringManager::GetScoringManager();
runManager->SetNumberOfThreads(24);
runManager->SetUserInitialization(new MyDetectorConstruction());
runManager->SetUserInitialization(new MyPhysicsList());
runManager->SetUserInitialization(new MyActionInitialization());

runManager->Initialize();
UImanager->ApplyCommand("/score/create/boxMesh boxMesh_1");
UImanager->ApplyCommand("/score/mesh/boxSize 0.1325 0.1325 6. cm");
UImanager->ApplyCommand("/score/mesh/nBin 1 1 300");
UImanager->ApplyCommand("/score/mesh/translate/xyz 0. 0. -6. cm");
UImanager->ApplyCommand("/score/quantity/energyDeposit pdd");
UImanager->ApplyCommand("/score/close");
UImanager->ApplyCommand("/run/initialize");
UImanager->ApplyCommand("/run/beamOn 2000000000");
UImanager->ApplyCommand("/score/dumpAllQuantitiesToFile boxMesh_1 pdd.csv");

My question is: When I run this simulation using multiple threads, will the scoring results be merged from all threads into a single output file (pdd.csv), or is it possible that the output only reflects the results from a single thread?

I want to ensure that the energy deposit scoring is properly combined from all threads. If the results are merged, how does this process work? If not, is there a specific setting or command I should use to merge the results manually?

Thank you for your help!

Geant4 Version: 11.2.1
Operating System:[Windows]
Compiler/Version:
CMake Version: