4 // Author: I. Hrivnacova, 27.07.2000
6 // Class TG4VXMLConvertor
7 // ----------------------
8 // The interface for the XML convertor that
9 // converts G4 basic geometry objects to XML.
11 #ifndef TG4_V_XML_CONVERTOR_H
12 #define TG4_V_XML_CONVERTOR_H
14 #include <G4ThreeVector.hh>
15 #include <G4RotationMatrix.hh>
19 class G4LogicalVolume;
22 class TG4VXMLConvertor
26 virtual ~TG4VXMLConvertor();
29 virtual void OpenMaterials(const G4String& version, const G4String& date,
30 const G4String& author, const G4String dtdVersion) = 0;
31 virtual void OpenSection(const G4String& name, const G4String& version,
32 const G4String& date, const G4String& author,
33 const G4String& topVolume) = 0;
34 virtual void OpenComposition(const G4String& name) = 0;
35 virtual void CloseMaterials() = 0;
36 virtual void CloseSection() = 0;
37 virtual void CloseComposition() = 0;
39 virtual void WriteMaterial(const G4Material* material) = 0;
40 virtual void WriteSolid(G4String lvName, const G4VSolid* solid,
41 G4String materialName) = 0;
42 virtual void WriteRotation(const G4RotationMatrix* rotation) = 0;
43 virtual void WritePosition(G4String lvName, G4ThreeVector position) = 0;
44 virtual void WritePositionWithRotation(
45 G4String lvName, G4ThreeVector position,
46 const G4RotationMatrix* rotation) = 0;
47 virtual void WriteReplica(G4String lvName, G4PVReplica* pvr) = 0;
48 virtual void WriteEmptyLine() = 0;
49 virtual void IncreaseIndention() = 0;
50 virtual void DecreaseIndention() = 0;
53 #endif //TG4_V_XML_CONVERTOR_H