]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Added a couple of routines to handle the link between regions and volumes
authoriglez2 <iglez2@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Nov 2002 18:42:27 +0000 (18:42 +0000)
committeriglez2 <iglez2@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Nov 2002 18:42:27 +0000 (18:42 +0000)
Flugg/FGeometryInit.cxx
Flugg/FGeometryInit.hh

index 45b04944aa714eac19abc21cb4e8a3d14198930a..b20ffe775723ba96e7c04e14780281b2fe96b0c7 100644 (file)
@@ -384,6 +384,23 @@ void FGeometryInit::PrintRegionsMap(G4std::ostream& os) {
 #endif
 }
 
+////////////////////////////////////////////////////////////////////////
+// 
+G4int FGeometryInit::GetRegionFromName(const char* volName) const {
+  for (RegionIterator i = fRegionVolumeMap.begin(); 
+       i != fRegionVolumeMap.end(); 
+       i++) {
+    
+    //Get info in the map
+    G4VPhysicalVolume* ptrVol = (*i).first;
+    if (ptrVol->GetName() == volName)
+      return ((*i).second);
+  }
+  return -1;
+}
+
+
+
 ////////////////////////////////////////////////////////////////////////
 // 
 void FGeometryInit::BuildMaterialTables() {
index d50eac634dd3c23201a2dff4d0425597209a8e64..bbd97591fcd706745bc9658a9bd38a399ea5408c 100644 (file)
@@ -65,7 +65,11 @@ public:
   inline G4int * GetJrLtGeantArray();
   inline G4int GetLttcFlagGeant();
   void SetLttcFlagGeant(G4int);
-  void PrintJrLtGeant(); 
+  void PrintJrLtGeant();
+
+  //Map access methods
+  G4int GetRegionFromName(const char* volName) const;
+
 
 protected:
   void BuildRegionsMap();
@@ -105,7 +109,7 @@ private:
   //G4int NOfMaterials;
 };
 
-typedef  G4std::map<G4VPhysicalVolume*, int, G4std::less<G4VPhysicalVolume*> >::iterator RegionIterator;
+typedef  G4std::map<G4VPhysicalVolume*, int, G4std::less<G4VPhysicalVolume*> >::const_iterator RegionIterator;
 typedef  G4std::vector<G4Material*>::const_iterator MatTableIterator;