Fix thread-unsafety in EscapedEnergyRegistry class [ATLASSIM-4106]
EscapedEnergyRegistry class was implemented as a singleton, so it was not thread-safe. This affected the HITs of LArCalibrationHitDeadMaterial when running in MT with the CaloCalibration on. Added the #ifdef G4MULTITHREADED directive to handle the multithreaded case. One instance of the class will be created per each thread and stored in a tbb::concurrent_unordered_map that is hashed with the threadID number.
Showing
- Calorimeter/CaloG4Sim/CaloG4Sim/EscapedEnergyRegistry.h 26 additions, 2 deletionsCalorimeter/CaloG4Sim/CaloG4Sim/EscapedEnergyRegistry.h
- Calorimeter/CaloG4Sim/src/EscapedEnergyRegistry.cc 36 additions, 5 deletionsCalorimeter/CaloG4Sim/src/EscapedEnergyRegistry.cc
- LArCalorimeter/LArG4/LArG4H6SD/src/H62004DeadSDTool.cc 2 additions, 2 deletionsLArCalorimeter/LArG4/LArG4H6SD/src/H62004DeadSDTool.cc
- LArCalorimeter/LArG4/LArG4H8SD/src/H8CalibSDTool.cc 2 additions, 2 deletionsLArCalorimeter/LArG4/LArG4H8SD/src/H8CalibSDTool.cc
- LArCalorimeter/LArG4/LArG4SD/src/DeadSDTool.cc 2 additions, 2 deletionsLArCalorimeter/LArG4/LArG4SD/src/DeadSDTool.cc
- TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.cc 1 addition, 1 deletion...Calorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.cc
Loading
Please register or sign in to comment