83 G4cout <<
"WARNING - Attempt to delete the region store"
84 <<
" while geometry closed !" <<
G4endl;
96 #ifdef G4GEOMETRY_VOXELDEBUG
97 G4cout <<
"Deleting Regions ... ";
100 for(iterator
pos=store->begin();
pos!=store->end(); ++
pos)
103 if (*
pos) {
delete *
pos; }
107 #ifdef G4GEOMETRY_VOXELDEBUG
108 if (store->size() < i-1)
109 {
G4cout <<
"No regions deleted. Already deleted by user ?" <<
G4endl; }
181 if ((*i)->IsModified()) {
return true; }
195 (*i)->RegionModified(
false);
207 if((*i)->IsInMassGeometry() || (*i)->IsInParallelGeometry() || currentWorld)
208 { (*i)->UpdateMaterialList(); }
220 if ((*i)->GetName() ==
name) {
return *i; }
224 std::ostringstream message;
225 message <<
"Region NOT found in store !" <<
G4endl
226 <<
" Region " << name <<
" NOT found in store !" <<
G4endl
227 <<
" Returning NULL pointer.";
260 { (*i)->SetWorld(0); }
266 size_t nPhys = fPhysicalVolumeStore->size();
267 for(
size_t iPhys=0; iPhys<nPhys; iPhys++)
275 { (*i)->SetWorld(fPhys); }
G4Region * GetRegion(const G4String &name, G4bool verbose=true) const
void UpdateMaterialList(G4VPhysicalVolume *currentWorld=0)
virtual void NotifyDeRegistration()=0
static G4ThreadLocal G4VStoreNotifier * fgNotifier
static void SetNotifier(G4VStoreNotifier *pNotifier)
G4Region * FindOrCreateRegion(const G4String &name)
static void DeRegister(G4Region *pRegion)
static G4PhysicalVolumeStore * GetInstance()
static G4RegionStore * GetInstance()
G4GLOB_DLL std::ostream G4cout
static G4RegionStore * fgInstance
static G4GeometryManager * GetInstance()
G4LogicalVolume * GetMotherLogical() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void ResetRegionModified()
virtual void NotifyRegistration()=0
G4bool IsModified() const
static G4ThreadLocal G4bool locked
static void Register(G4Region *pRegion)
static const G4double pos