]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4VXMLConvertor.h
updated to renaming in global category
[u/mrichter/AliRoot.git] / TGeant4 / TG4VXMLConvertor.h
1 // $Id$
2 // Category: geometry
3 // by I. Hrivnacova, 27.07.2000 
4 //
5 // The interface for XML convertor that
6 // converts G4 basic geometry objects to XML. 
7
8 #ifndef TG4_V_XML_CONVERTOR_H
9 #define TG4_V_XML_CONVERTOR_H
10
11 #include <G4ThreeVector.hh>
12 #include <G4RotationMatrix.hh>
13
14 class G4Material;
15 class G4VSolid;
16 class G4LogicalVolume;
17 class G4PVReplica;
18
19 class TG4VXMLConvertor
20 {
21   public:
22     TG4VXMLConvertor();
23     virtual ~TG4VXMLConvertor();
24
25     // methods
26     virtual void OpenMaterials(const G4String& version, const G4String& date, 
27             const G4String& author, const G4String dtdVersion) = 0; 
28     virtual void OpenSection(const G4String& name, const G4String& version,
29             const G4String& date, const G4String& author,
30             const G4String& topVolume) = 0;
31     virtual void OpenComposition(const G4String& name) = 0;
32     virtual void CloseMaterials() = 0;
33     virtual void CloseSection() = 0;
34     virtual void CloseComposition() = 0;
35
36     virtual void WriteMaterial(const G4Material* material) = 0; 
37     virtual void WriteSolid(G4String lvName, const G4VSolid* solid, 
38                             G4String materialName) = 0; 
39     virtual void WriteRotation(const G4RotationMatrix* rotation) = 0; 
40     virtual void WritePosition(G4String lvName, G4ThreeVector position) = 0; 
41     virtual void WritePositionWithRotation(
42                                G4String lvName, G4ThreeVector position,
43                                const G4RotationMatrix* rotation) = 0; 
44     virtual void WriteReplica(G4String lvName, G4PVReplica* pvr) = 0;                          
45     virtual void WriteEmptyLine() = 0;
46     virtual void IncreaseIndention() = 0;
47     virtual void DecreaseIndention() = 0;
48 };
49
50 #endif //TG4_V_XML_CONVERTOR_H
51