Message: Re: How to collect data in Multi-threading? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: How to collect data in Multi-threading? 

Forum: Multithreading
Re: Question How to collect data in Multi-threading?
Date: 09 Jan, 2014
From: Andrea Dotti <Andrea Dotti>

Hello, these details are described in Geant4 manuals. A summary of all MT related documentation can also be found here: https://twiki.cern.ch/twiki/bin/view/Geant4/QuickMigrationGuideForGeant4V10

Look at "Collecting thread-local data" section.

Some important notes: 1- As described in manuals all user actions are thread-local, e.g. one separate instance of Stepping action exists for each thread 2- It is not a good idea to use Stepping Action to accumulate event- and run- based information. The best thing to do is to use stepping action to calculate the interested quantity, accumulate (if needed) per event and then accumulate per run. If accumulation is done with a user-derived G4Run class, Geant4 kernel will take care of "merging" results from threads. In all other cases merging has to be done by hand. 3- If you use g4tools histograms or command line scoring, merging is done automatically for you for histograms and scorers output.

Please refer to example basic B1: examples/basic/B1 for an example of how to accumulate quantities from stepping-action. In particular study classes B1SteppingAction, B1EventAction, B1RunAction and B1Run Other examples in basic category show how to analyze data with different techniques (see examples/basic/README)

Regards, Andrea

 Add Message Add Message
to: "Re: How to collect data in Multi-threading?"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews