]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4VXMLConvertor.h
updated to introduction of new TG4SDServices class; added comment lines separating...
[u/mrichter/AliRoot.git] / TGeant4 / TG4VXMLConvertor.h
CommitLineData
240601e9 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
14class G4Material;
15class G4VSolid;
16class G4LogicalVolume;
86ff41e9 17class G4PVReplica;
240601e9 18
19class TG4VXMLConvertor
20{
21 public:
22 TG4VXMLConvertor();
23 virtual ~TG4VXMLConvertor();
24
25 // methods
3ca2acac 26 virtual void OpenMaterials(const G4String& version, const G4String& date,
27 const G4String& author, const G4String dtdVersion) = 0;
240601e9 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;
3ca2acac 32 virtual void CloseMaterials() = 0;
240601e9 33 virtual void CloseSection() = 0;
34 virtual void CloseComposition() = 0;
35
36 virtual void WriteMaterial(const G4Material* material) = 0;
4032dc03 37 virtual void WriteSolid(G4String lvName, const G4VSolid* solid,
38 G4String materialName) = 0;
3ca2acac 39 virtual void WriteRotation(const G4RotationMatrix* rotation) = 0;
4032dc03 40 virtual void WritePosition(G4String lvName, G4ThreeVector position) = 0;
240601e9 41 virtual void WritePositionWithRotation(
4032dc03 42 G4String lvName, G4ThreeVector position,
240601e9 43 const G4RotationMatrix* rotation) = 0;
86ff41e9 44 virtual void WriteReplica(G4String lvName, G4PVReplica* pvr) = 0;
240601e9 45 virtual void WriteEmptyLine() = 0;
3ca2acac 46 virtual void IncreaseIndention() = 0;
47 virtual void DecreaseIndention() = 0;
240601e9 48};
49
50#endif //TG4_V_XML_CONVERTOR_H
51