Back to home page

EIC code displayed by LXR

 
 

    


Last indexation completed on 2025-02-23 10:25:57 UTC

 
  Name Size Date (UTC) Last indexed Description
  Name Size Date (UTC) Last indexed Description
folder Parent directory - 2025-02-23 08:01:00

Geant4 - an Object-Oriented Toolkit for Simulation in HEP
Example ThreadsafeScorers
This example demonstrates a very simple application where an energy deposit and # of steps is accounted in thread-local (i.e. one instance per thread) hits maps with underlying types of plain-old data (POD) and global (i.e. one instance) hits maps with underlying types of atomics. The example uses a coarse mesh, extensive physics, and step limiters to ensure that there is a higher degree of conflict between threads when updating the scorers to test the robustness of the atomics classes and maximize the compounding of thread-local round-off error. At the end of the simulation, the scorers are printed to "mfd_<DATA_TYPE>_<SCORER_TYPE>.out", where DATA_TYPE is either "tl" (thread-local) or "tg" (thread-global) and SCORER_TYPE is "EnergyDeposit" or "NumberOfSteps". These values are then compared to a thread-global sum of these scorers that were updated via mutex locking. If round-off errors in thread-local EnergyDeposit are present, they can be viewed in "mfd_diff.out" at the end of the simulation


SEE ALSO: README

TSActionInitialization.cc 3386 bytes 2025-02-23 08:01:00 2025-02-23 09:22:29  
TSDetectorConstruction.cc 10123 bytes 2025-02-23 08:01:00 2025-02-23 09:22:30  
TSPhysicsList.cc 5498 bytes 2025-02-23 08:01:00 2025-02-23 09:22:30  
TSPrimaryGeneratorAction.cc 3637 bytes 2025-02-23 08:01:00 2025-02-23 09:22:30  
TSRun.cc 12055 bytes 2025-02-23 08:01:00 2025-02-23 09:22:30  
TSRunAction.cc 16013 bytes 2025-02-23 08:01:00 2025-02-23 09:22:30