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>
59 typedef std::map<const G4LogicalVolume*,G4Transform3D> VolumeMapType;
60 typedef std::map<const G4VPhysicalVolume*,G4String> PhysVolumeMapType;
61 typedef std::map<G4int,G4int> DepthMapType;
133 xercesc::DOMDocument*
doc;
virtual void ExtensionWrite(xercesc::DOMElement *)
void AddAuxiliary(G4GDMLAuxStructType myaux)
void AddAuxInfo(G4GDMLAuxListType *auxInfoList, xercesc::DOMElement *element)
xercesc::DOMDocument * doc
G4bool FileExists(const G4String &) const
PhysVolumeMapType & PvolumeMap()
xercesc::DOMElement * NewElement(const G4String &)
DepthMapType & DepthMap()
G4String Modularize(const G4VPhysicalVolume *const topvol, const G4int depth)
G4Transform3D Write(const G4String &filename, const G4LogicalVolume *const topLog, const G4String &schemaPath, const G4int depth, G4bool storeReferences=true)
virtual void SetupWrite(xercesc::DOMElement *, const G4LogicalVolume *const)=0
virtual void StructureWrite(xercesc::DOMElement *)=0
virtual void DefineWrite(xercesc::DOMElement *)=0
virtual void MaterialsWrite(xercesc::DOMElement *)=0
G4String GenerateName(const G4String &, const void *const)
static void SetAddPointerToName(G4bool)
static G4bool addPointerToName
void AddModule(const G4VPhysicalVolume *const topVol)
xercesc::DOMAttr * NewAttribute(const G4String &, const G4String &)
std::vector< G4GDMLAuxStructType > G4GDMLAuxListType
virtual G4Transform3D TraverseVolumeTree(const G4LogicalVolume *const, const G4int)=0
virtual void UserinfoWrite(xercesc::DOMElement *)
virtual void SolidsWrite(xercesc::DOMElement *)=0
virtual void AddExtension(xercesc::DOMElement *, const G4LogicalVolume *const)
G4GDMLAuxListType auxList
virtual void SurfacesWrite()=0
VolumeMapType & VolumeMap()
xercesc::DOMElement * extElement
xercesc::DOMElement * userinfoElement