Methods needed for TFluka added.
[u/mrichter/AliRoot.git] / Flugg / FGeometryInit.hh
index d50eac634dd3c23201a2dff4d0425597209a8e64..80993fcaf6ef4644294f8ef1c5847827db9f093c 100644 (file)
@@ -65,7 +65,16 @@ public:
   inline G4int * GetJrLtGeantArray();
   inline G4int GetLttcFlagGeant();
   void SetLttcFlagGeant(G4int);
-  void PrintJrLtGeant(); 
+  void PrintJrLtGeant();
+
+  //Map access methods
+  void  BuildMediaMap();
+  void  SetMediumFromName(const char* volName, int med, int volid);
+    //G4int GetRegionFromName(const char* volName) const;
+  G4int GetMedium(int) const;
+  int CurrentVolID(int ir, int& copyNo);
+  int CurrentVolOffID(int ir, int off, int& copyNo);
+    
 
 protected:
   void BuildRegionsMap();
@@ -98,14 +107,19 @@ private:
   G4TouchableHistory * ptrTempNavHist;
   G4int * ptrJrLtGeant;
   G4int flagLttcGeant;
-
+  G4int  fNRegions;
+  int* fRegionMediumMap;
+    
   G4std::map<G4VPhysicalVolume*, int, G4std::less<G4VPhysicalVolume*> > fRegionVolumeMap;
+  G4std::map<G4VPhysicalVolume*, int, G4std::less<G4VPhysicalVolume*> > fMediumVolumeMap;
+  G4std::map<G4VPhysicalVolume*, int, G4std::less<G4VPhysicalVolume*> > fVolIdVolumeMap;
+
   G4std::map<G4Material*, FlukaMaterial*, G4std::less<G4Material*> > G4FlukaMaterialMap;
   G4std::map<G4Material*, FlukaCompound*, G4std::less<G4Material*> > G4FlukaCompoundMap;
   //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;