]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TGeant4/TG4XMLGeometryGenerator.h
Enable clusterizing from any Digits branch
[u/mrichter/AliRoot.git] / TGeant4 / TG4XMLGeometryGenerator.h
index cd46fd61571f561540b617bd6b85b7408672c87b..15d685eecd99a66bfd2a8c23b24411723fc4ec46 100644 (file)
@@ -1,7 +1,10 @@
 // $Id$
 // Category: geometry
-// by I. Hrivnacova, 27.07.2000 
 //
+// Author: I. Hrivnacova, 27.07.2000 
+//
+// Class TG4XMLGeometryGenerator
+// -----------------------------
 // Singleton class for generation of geometry data files in XML,
 // the XML format is independent from G4 geometry
 // object model. 
@@ -9,6 +12,9 @@
 #ifndef TG4_XML_GEOMETRY_GENERATOR_H
 #define TG4_XML_GEOMETRY_GENERATOR_H
 
+#include "TG4Verbose.h"
+#include "TG4Globals.h"
+
 #include <globals.hh>
 #include <g4std/fstream>
 
@@ -16,7 +22,7 @@ class TG4VXMLConvertor;
 
 class G4LogicalVolume;
 
-class TG4XMLGeometryGenerator
+class TG4XMLGeometryGenerator : public TG4Verbose
 {
   public:
     TG4XMLGeometryGenerator();
@@ -45,10 +51,13 @@ class TG4XMLGeometryGenerator
 
   private:
     // methods
+    void CutName(G4String& name) const;
     void ProcessLogicalVolume(G4LogicalVolume* lv); 
     void ProcessMaterials(G4LogicalVolume* lv); 
     void ProcessSolids(G4LogicalVolume* lv); 
     void ProcessRotations(G4LogicalVolume* lv); 
+    void ClearMaterialNames();
+    void ClearVolumeNames();
 
     // static data members
     static TG4XMLGeometryGenerator*  fgInstance;     //this instance
@@ -56,6 +65,8 @@ class TG4XMLGeometryGenerator
     // data members
     TG4VXMLConvertor*  fConvertor; //interface to XML convertor 
     G4std::ofstream    fOutFile;   //output file
+    TG4StringSet       fMaterialNames;   //set of names of materials 
+    TG4StringSet       fVolumeNames;     //set of names of solids
 };