40#ifndef _G4GDMLWRITE_INCLUDED_
41#define _G4GDMLWRITE_INCLUDED_
45#include <xercesc/dom/DOM.hpp>
46#include <xercesc/util/XMLString.hpp>
47#include <xercesc/util/PlatformUtils.hpp>
48#include <xercesc/framework/LocalFileFormatTarget.hpp>
57 typedef std::map<const G4LogicalVolume*,G4Transform3D> VolumeMapType;
58 typedef std::map<const G4VPhysicalVolume*,G4String> PhysVolumeMapType;
59 typedef std::map<G4int,G4int> DepthMapType;
123 xercesc::DOMDocument*
doc;
virtual void SurfacesWrite()=0
virtual void MaterialsWrite(xercesc::DOMElement *)=0
DepthMapType & DepthMap()
G4bool FileExists(const G4String &) const
static void SetAddPointerToName(G4bool)
void AddModule(const G4VPhysicalVolume *const topVol)
xercesc::DOMElement * NewElement(const G4String &)
G4String GenerateName(const G4String &, const void *const)
G4String Modularize(const G4VPhysicalVolume *const topvol, const G4int depth)
virtual void AddExtension(xercesc::DOMElement *, const G4LogicalVolume *const)
virtual void SetupWrite(xercesc::DOMElement *, const G4LogicalVolume *const)=0
G4Transform3D Write(const G4String &filename, const G4LogicalVolume *const topLog, const G4String &schemaPath, const G4int depth, G4bool storeReferences=true)
virtual G4Transform3D TraverseVolumeTree(const G4LogicalVolume *const, const G4int)=0
xercesc::DOMElement * extElement
virtual void DefineWrite(xercesc::DOMElement *)=0
xercesc::DOMDocument * doc
xercesc::DOMAttr * NewAttribute(const G4String &, const G4String &)
static G4bool addPointerToName
virtual void ExtensionWrite(xercesc::DOMElement *)
virtual void SolidsWrite(xercesc::DOMElement *)=0
VolumeMapType & VolumeMap()
virtual void StructureWrite(xercesc::DOMElement *)=0
PhysVolumeMapType & PvolumeMap()