std::vector< G4atomic< G4double > * > AtomicHitsSum_t
MutexHitsMap_t * GetMutexHitsMap(const G4String &) const
virtual void RecordEvent(const G4Event *)
std::vector< G4String > fCollNames
G4THitsMap< G4double > * GetHitsMap(const G4String &collname) const
static std::map< G4String, MutexHitsMap_t > fMutexRunMaps
std::map< G4int, G4double > MutexHitsMap_t
virtual void Merge(const G4Run *)
static std::vector< G4TAtomicHitsMap< G4double > * > fAtomicRunMaps
TSRun contains three collections of hits maps: a thread-local hits map, a global atomic hits map (imp...
Definition of the G4TAtomicHitsMap class.
void ConstructMFD(const G4String &)
std::vector< G4THitsMap< G4double > * > fRunMaps
This is an implementation of G4THitsMap where the underlying type is G4atomic, not just T. A static assert is provided to ensure that T is fundamental. This class should be used in lieu of G4THitsMap when memory is a concern. Atomics are thread-safe and generally faster that mutexes (as long as the STL implementation is lock-free) but the synchronization does not come without a cost. If performance is the primary concern, use G4THitsMap in thread-local instances.
std::vector< G4int > fCollIDs
static AtomicHitsSum_t fAtomicRunSums
G4TAtomicHitsMap< G4double > * GetAtomicHitsMap(const G4String &) const