40 #ifndef _PHG4GDMLWRITESTRUCTURE_INCLUDED_
41 #define _PHG4GDMLWRITESTRUCTURE_INCLUDED_
43 #include <Geant4/G4Transform3D.hh>
44 #include <Geant4/G4Types.hh>
48 class G4LogicalVolume;
49 class G4VPhysicalVolume;
51 class G4LogicalBorderSurface;
52 class G4LogicalSkinSurface;
53 class G4OpticalSurface;
54 class G4SurfaceProperty;
55 class G4ReflectionFactory;
74 void PhysvolWrite(xercesc::DOMElement*,
const G4VPhysicalVolume*
const topVol,
75 const G4Transform3D& transform,
const G4String& moduleName);
76 void ReplicavolWrite(xercesc::DOMElement*,
const G4VPhysicalVolume*
const);
82 const G4LogicalBorderSurface*
GetBorderSurface(
const G4VPhysicalVolume*
const);
83 const G4LogicalSkinSurface*
GetSkinSurface(
const G4LogicalVolume*
const);
92 std::map<const G4LogicalVolume*, PHG4GDMLAuxListType>
auxmap;
98 std::vector<const G4OpticalSurface*> opt_vec;
99 G4ReflectionFactory* reflFactory;
void SkinSurfaceCache(const G4LogicalSkinSurface *const)
void AddVolumeAuxiliary(PHG4GDMLAuxStructType myaux, const G4LogicalVolume *const)
std::map< const G4LogicalVolume *, PHG4GDMLAuxListType > auxmap
G4bool FindOpticalSurface(const G4SurfaceProperty *)
virtual ~PHG4GDMLWriteStructure()
void DivisionvolWrite(xercesc::DOMElement *, const G4PVDivision *const)
const G4LogicalBorderSurface * GetBorderSurface(const G4VPhysicalVolume *const)
std::vector< xercesc::DOMElement * > skinElementVec
G4Transform3D TraverseVolumeTree(const G4LogicalVolume *const topVol, const G4int depth)
void ExportEnergyCuts(const G4LogicalVolume *const)
G4String ConvertToString(G4double dval)
virtual void StructureWrite(xercesc::DOMElement *)
void ReplicavolWrite(xercesc::DOMElement *, const G4VPhysicalVolume *const)
PHG4GDMLWriteStructure(const PHG4GDMLConfig *config_input)
void BorderSurfaceCache(const G4LogicalBorderSurface *const)
std::vector< xercesc::DOMElement * > borderElementVec
xercesc::DOMElement * structureElement
void SetEnergyCutsExport(G4bool)
const G4LogicalSkinSurface * GetSkinSurface(const G4LogicalVolume *const)
void PhysvolWrite(xercesc::DOMElement *, const G4VPhysicalVolume *const topVol, const G4Transform3D &transform, const G4String &moduleName)