81     for(
unsigned i = 0; i < 
fRunMaps.size(); ++i)
 
  116             G4String fullCollectionName = mfdName+
"/"+collectionName;
 
  119             if ( collectionID >= 0 ){
 
  120                 G4cout << 
"++ " << fullCollectionName<< 
" id " << collectionID
 
  131                                            (mfdName, collectionName));
 
  134                 G4cout << 
"** collection " << fullCollectionName << 
" not found. " 
  157   for(
unsigned i = 0; i < 
fCollIDs.size(); ++i)
 
  179         auto itr = EvtMap->
GetMap()->begin();
 
  180         for(; itr != EvtMap->
GetMap()->end(); itr++)
 
  199     const TSRun* localTSRun = 
static_cast<const TSRun*
>(aTSRun);
 
  201     for(
unsigned i = 0; i < 
fRunMaps.size(); ++i)
 
  214   for(
unsigned i = 0; i < 
fCollNames.size(); ++i)
 
  221               "GetHitsMap failed to locate the requested HitsMap");
 
  233   for(
unsigned i = 0; i < 
fCollNames.size(); ++i)
 
  240               "GetHitsMap failed to locate the requested AtomicHitsMap");
 
  256               "GetHitsMap failed to locate the requested MutexHitsMap");
 
virtual void Merge(const G4Run *)
G4VHitsCollection * GetHC(G4int i)
G4int GetCollectionID(G4String colName)
MutexHitsMap_t * GetMutexHitsMap(const G4String &) const 
Definition of the TSRun class. 
virtual void RecordEvent(const G4Event *)
std::vector< G4String > fCollNames
#define G4MUTEX_INITIALIZER
G4THitsMap< G4double > * GetHitsMap(const G4String &collname) const 
static std::map< G4String, MutexHitsMap_t > fMutexRunMaps
G4GLOB_DLL std::ostream G4cout
G4VPrimitiveScorer * GetPrimitive(G4int id) const 
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...
void ConstructMFD(const G4String &)
G4VSensitiveDetector * FindSensitiveDetector(G4String dName, G4bool warning=true)
std::vector< G4THitsMap< G4double > * > fRunMaps
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
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. 
static G4SDManager * GetSDMpointer()
virtual void RecordEvent(const G4Event *)
std::vector< G4int > fCollIDs
std::map< G4int, T * > * GetMap() const 
G4HCofThisEvent * GetHCofThisEvent() const 
G4TAtomicHitsMap< G4double > * GetAtomicHitsMap(const G4String &) const 
G4int GetNumberOfPrimitives() const