![]() |
ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/simulation/g4simulation/g4gdml/PHG4GDMLWriteStructure.hh>
Inheritance diagram for PHG4GDMLWriteStructure:
Collaboration diagram for PHG4GDMLWriteStructure:Public Member Functions | |
| PHG4GDMLWriteStructure (const PHG4GDMLConfig *config_input) | |
| virtual | ~PHG4GDMLWriteStructure () |
| virtual void | StructureWrite (xercesc::DOMElement *) |
| void | AddVolumeAuxiliary (PHG4GDMLAuxStructType myaux, const G4LogicalVolume *const) |
| void | SetEnergyCutsExport (G4bool) |
Public Member Functions inherited from PHG4GDMLWriteParamvol | |
| virtual void | ParamvolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const) |
| virtual void | ParamvolAlgorithmWrite (xercesc::DOMElement *paramvolElement, const G4VPhysicalVolume *const paramvol) |
Public Member Functions inherited from PHG4GDMLWriteSetup | |
| virtual void | SetupWrite (xercesc::DOMElement *, const G4LogicalVolume *const) |
Public Member Functions inherited from PHG4GDMLWriteSolids | |
| virtual void | AddSolid (const G4VSolid *const) |
| virtual void | SolidsWrite (xercesc::DOMElement *) |
Public Member Functions inherited from PHG4GDMLWriteMaterials | |
| void | AddIsotope (const G4Isotope *const) |
| void | AddElement (const G4Element *const) |
| void | AddMaterial (const G4Material *const) |
| virtual void | MaterialsWrite (xercesc::DOMElement *) |
Public Member Functions inherited from PHG4GDMLWriteDefine | |
| G4ThreeVector | GetAngles (const G4RotationMatrix &) |
| void | ScaleWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &scl) |
| void | RotationWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &rot) |
| void | PositionWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &pos) |
| void | FirstrotationWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &rot) |
| void | FirstpositionWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &pos) |
| void | AddPosition (const G4String &name, const G4ThreeVector &pos) |
| virtual void | DefineWrite (xercesc::DOMElement *) |
Public Member Functions inherited from PHG4GDMLWrite | |
| G4Transform3D | Write (const G4String &filename, const G4LogicalVolume *const topLog, const G4String &schemaPath, const G4int depth, G4bool storeReferences=true) |
| void | AddModule (const G4VPhysicalVolume *const topVol) |
| void | AddModule (const G4int depth) |
| void | AddAuxiliary (PHG4GDMLAuxStructType myaux) |
| virtual void | ExtensionWrite (xercesc::DOMElement *) |
| virtual void | UserinfoWrite (xercesc::DOMElement *) |
| virtual void | AddExtension (xercesc::DOMElement *, const G4LogicalVolume *const) |
| G4String | GenerateName (const G4String &, const void *const) |
Protected Member Functions | |
| void | DivisionvolWrite (xercesc::DOMElement *, const G4PVDivision *const) |
| void | PhysvolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const topVol, const G4Transform3D &transform, const G4String &moduleName) |
| void | ReplicavolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const) |
| G4Transform3D | TraverseVolumeTree (const G4LogicalVolume *const topVol, const G4int depth) |
| void | SurfacesWrite () |
| void | BorderSurfaceCache (const G4LogicalBorderSurface *const) |
| void | SkinSurfaceCache (const G4LogicalSkinSurface *const) |
| const G4LogicalBorderSurface * | GetBorderSurface (const G4VPhysicalVolume *const) |
| const G4LogicalSkinSurface * | GetSkinSurface (const G4LogicalVolume *const) |
| G4bool | FindOpticalSurface (const G4SurfaceProperty *) |
| void | ExportEnergyCuts (const G4LogicalVolume *const) |
| G4String | ConvertToString (G4double dval) |
Protected Member Functions inherited from PHG4GDMLWriteParamvol | |
| PHG4GDMLWriteParamvol () | |
| virtual | ~PHG4GDMLWriteParamvol () |
| void | Box_dimensionsWrite (xercesc::DOMElement *, const G4Box *const) |
| void | Trd_dimensionsWrite (xercesc::DOMElement *, const G4Trd *const) |
| void | Trap_dimensionsWrite (xercesc::DOMElement *, const G4Trap *const) |
| void | Tube_dimensionsWrite (xercesc::DOMElement *, const G4Tubs *const) |
| void | Cone_dimensionsWrite (xercesc::DOMElement *, const G4Cons *const) |
| void | Sphere_dimensionsWrite (xercesc::DOMElement *, const G4Sphere *const) |
| void | Orb_dimensionsWrite (xercesc::DOMElement *, const G4Orb *const) |
| void | Torus_dimensionsWrite (xercesc::DOMElement *, const G4Torus *const) |
| void | Ellipsoid_dimensionsWrite (xercesc::DOMElement *, const G4Ellipsoid *const) |
| void | Para_dimensionsWrite (xercesc::DOMElement *, const G4Para *const) |
| void | Hype_dimensionsWrite (xercesc::DOMElement *, const G4Hype *const) |
| void | Polycone_dimensionsWrite (xercesc::DOMElement *, const G4Polycone *const) |
| void | Polyhedra_dimensionsWrite (xercesc::DOMElement *, const G4Polyhedra *const) |
| void | ParametersWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const, const G4int &) |
Protected Member Functions inherited from PHG4GDMLWriteSetup | |
| PHG4GDMLWriteSetup () | |
| virtual | ~PHG4GDMLWriteSetup () |
Protected Member Functions inherited from PHG4GDMLWriteSolids | |
| PHG4GDMLWriteSolids () | |
| virtual | ~PHG4GDMLWriteSolids () |
| void | MultiUnionWrite (xercesc::DOMElement *solElement, const G4MultiUnion *const) |
| void | BooleanWrite (xercesc::DOMElement *, const G4BooleanSolid *const) |
| void | BoxWrite (xercesc::DOMElement *, const G4Box *const) |
| void | ConeWrite (xercesc::DOMElement *, const G4Cons *const) |
| void | ElconeWrite (xercesc::DOMElement *, const G4EllipticalCone *const) |
| void | EllipsoidWrite (xercesc::DOMElement *, const G4Ellipsoid *const) |
| void | EltubeWrite (xercesc::DOMElement *, const G4EllipticalTube *const) |
| void | XtruWrite (xercesc::DOMElement *, const G4ExtrudedSolid *const) |
| void | HypeWrite (xercesc::DOMElement *, const G4Hype *const) |
| void | OrbWrite (xercesc::DOMElement *, const G4Orb *const) |
| void | ParaWrite (xercesc::DOMElement *, const G4Para *const) |
| void | ParaboloidWrite (xercesc::DOMElement *, const G4Paraboloid *const) |
| void | PolyconeWrite (xercesc::DOMElement *, const G4Polycone *const) |
| void | GenericPolyconeWrite (xercesc::DOMElement *, const G4GenericPolycone *const) |
| void | PolyhedraWrite (xercesc::DOMElement *, const G4Polyhedra *const) |
| void | SphereWrite (xercesc::DOMElement *, const G4Sphere *const) |
| void | TessellatedWrite (xercesc::DOMElement *, const G4TessellatedSolid *const) |
| void | TetWrite (xercesc::DOMElement *, const G4Tet *const) |
| void | TorusWrite (xercesc::DOMElement *, const G4Torus *const) |
| void | GenTrapWrite (xercesc::DOMElement *, const G4GenericTrap *const) |
| void | TrapWrite (xercesc::DOMElement *, const G4Trap *const) |
| void | TrdWrite (xercesc::DOMElement *, const G4Trd *const) |
| void | TubeWrite (xercesc::DOMElement *, const G4Tubs *const) |
| void | CutTubeWrite (xercesc::DOMElement *, const G4CutTubs *const) |
| void | TwistedboxWrite (xercesc::DOMElement *, const G4TwistedBox *const) |
| void | TwistedtrapWrite (xercesc::DOMElement *, const G4TwistedTrap *const) |
| void | TwistedtrdWrite (xercesc::DOMElement *, const G4TwistedTrd *const) |
| void | TwistedtubsWrite (xercesc::DOMElement *, const G4TwistedTubs *const) |
| void | ZplaneWrite (xercesc::DOMElement *, const G4double &, const G4double &, const G4double &) |
| void | RZPointWrite (xercesc::DOMElement *, const G4double &, const G4double &) |
| void | OpticalSurfaceWrite (xercesc::DOMElement *, const G4OpticalSurface *const) |
Protected Member Functions inherited from PHG4GDMLWriteMaterials | |
| PHG4GDMLWriteMaterials () | |
| virtual | ~PHG4GDMLWriteMaterials () |
| void | AtomWrite (xercesc::DOMElement *, const G4double &) |
| void | DWrite (xercesc::DOMElement *, const G4double &) |
| void | PWrite (xercesc::DOMElement *, const G4double &) |
| void | TWrite (xercesc::DOMElement *, const G4double &) |
| void | MEEWrite (xercesc::DOMElement *, const G4double &) |
| void | IsotopeWrite (const G4Isotope *const) |
| void | ElementWrite (const G4Element *const) |
| void | MaterialWrite (const G4Material *const) |
| void | PropertyWrite (xercesc::DOMElement *, const G4Material *const) |
| void | PropertyVectorWrite (const G4String &, const G4PhysicsOrderedFreeVector *const) |
Protected Member Functions inherited from PHG4GDMLWriteDefine | |
| PHG4GDMLWriteDefine () | |
| virtual | ~PHG4GDMLWriteDefine () |
| void | Scale_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &) |
| void | Rotation_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &) |
| void | Position_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &) |
Protected Member Functions inherited from PHG4GDMLWrite | |
| PHG4GDMLWrite () | |
| virtual | ~PHG4GDMLWrite () |
| VolumeMapType & | VolumeMap () |
| xercesc::DOMAttr * | NewAttribute (const G4String &, const G4String &) |
| xercesc::DOMAttr * | NewAttribute (const G4String &, const G4double &) |
| xercesc::DOMElement * | NewElement (const G4String &) |
| G4String | Modularize (const G4VPhysicalVolume *const topvol, const G4int depth) |
| void | AddAuxInfo (PHG4GDMLAuxListType *auxInfoList, xercesc::DOMElement *element) |
| G4bool | FileExists (const G4String &) const |
| PhysVolumeMapType & | PvolumeMap () |
| DepthMapType & | DepthMap () |
Protected Attributes | |
| xercesc::DOMElement * | structureElement |
| std::vector < xercesc::DOMElement * > | borderElementVec |
| std::vector < xercesc::DOMElement * > | skinElementVec |
| std::map< const G4LogicalVolume *, PHG4GDMLAuxListType > | auxmap |
Private Attributes | |
| std::vector< const G4OpticalSurface * > | opt_vec |
| G4ReflectionFactory * | reflFactory |
| G4bool | cexport |
| const PHG4GDMLConfig * | config |
| configuration of export exlcusion volumes | |
Additional Inherited Members | |
Static Public Member Functions inherited from PHG4GDMLWrite | |
| static void | SetAddPointerToName (G4bool) |
Static Protected Attributes inherited from PHG4GDMLWriteSolids | |
| static const G4int | maxTransforms = 8 |
Definition at line 58 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 58 of file PHG4GDMLWriteStructure.hh
| PHG4GDMLWriteStructure::PHG4GDMLWriteStructure | ( | const PHG4GDMLConfig * | config_input | ) |
Definition at line 63 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 63 of file PHG4GDMLWriteStructure.cc
References G4ReflectionFactory::Instance(), and reflFactory.
Here is the call graph for this function:
|
virtual |
Definition at line 70 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 70 of file PHG4GDMLWriteStructure.cc
| void PHG4GDMLWriteStructure::AddVolumeAuxiliary | ( | PHG4GDMLAuxStructType | myaux, |
| const G4LogicalVolume * const | lvol | ||
| ) |
Definition at line 581 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 581 of file PHG4GDMLWriteStructure.cc
Referenced by ExportEnergyCuts().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 236 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 236 of file PHG4GDMLWriteStructure.cc
References borderElementVec, FatalException, FindOpticalSurface(), G4Exception(), PHG4GDMLWrite::GenerateName(), G4LogicalSurface::GetName(), G4SurfaceProperty::GetName(), G4VPhysicalVolume::GetName(), G4LogicalSurface::GetSurfaceProperty(), G4LogicalBorderSurface::GetVolume1(), G4LogicalBorderSurface::GetVolume2(), PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), and PHG4GDMLWriteSolids::solidsElement.
Referenced by TraverseVolumeTree().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 633 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 633 of file PHG4GDMLWriteStructure.cc
Referenced by ExportEnergyCuts().
Here is the caller graph for this function:
|
protected |
Definition at line 75 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 75 of file PHG4GDMLWriteStructure.cc
References PHG4GDMLWrite::GenerateName(), G4PVDivision::GetDivisionAxis(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), G4PVDivision::GetReplicationData(), kPhi, kRho, kUndefined, kXAxis, kYAxis, kZAxis, PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), offset, and width.
Referenced by TraverseVolumeTree().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 599 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 599 of file PHG4GDMLWriteStructure.cc
References AddVolumeAuxiliary(), G4ProductionCutsTable::ConvertRangeToEnergy(), ConvertToString(), G4Electron::Electron(), eplus, G4Gamma::Gamma(), G4LogicalVolume::GetMaterial(), G4ProductionCuts::GetProductionCut(), G4Region::GetProductionCuts(), G4ProductionCutsTable::GetProductionCutsTable(), G4LogicalVolume::GetRegion(), G4Positron::Positron(), G4InuclParticleNames::proton, and G4Proton::Proton().
Referenced by TraverseVolumeTree().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 312 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 312 of file PHG4GDMLWriteStructure.cc
References opt_vec, and pos().
Referenced by BorderSurfaceCache(), and SkinSurfaceCache().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 345 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 345 of file PHG4GDMLWriteStructure.cc
References G4LogicalBorderSurface::GetNumberOfBorderSurfaces(), G4LogicalBorderSurface::GetSurfaceTable(), and pos().
Referenced by TraverseVolumeTree().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 324 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 324 of file PHG4GDMLWriteStructure.cc
References G4LogicalSkinSurface::GetNumberOfSkinSurfaces(), G4LogicalSkinSurface::GetSurfaceTable(), and pos().
Referenced by TraverseVolumeTree().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 113 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 113 of file PHG4GDMLWriteStructure.cc
References PHG4GDMLWrite::GenerateName(), PHG4GDMLWriteDefine::GetAngles(), G4ReflectionFactory::GetConstituentLV(), G4VPhysicalVolume::GetCopyNo(), HepGeom::Transform3D::getDecomposition(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), HepGeom::Transform3D::getRotation(), HepGeom::Transform3D::getTranslation(), G4ReflectionFactory::IsReflected(), PHG4GDMLWriteDefine::kAngularPrecision, PHG4GDMLWriteDefine::kLinearPrecision, PHG4GDMLWriteDefine::kRelativePrecision, PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), pos(), PHG4GDMLWriteDefine::PositionWrite(), reflFactory, PHG4GDMLWriteDefine::RotationWrite(), scale, PHG4GDMLWriteDefine::ScaleWrite(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by TraverseVolumeTree().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 184 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 184 of file PHG4GDMLWriteStructure.cc
References PHG4GDMLWrite::GenerateName(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetReplicationData(), kPhi, kRho, kUndefined, kXAxis, kYAxis, kZAxis, PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), offset, and width.
Referenced by TraverseVolumeTree().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 593 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 593 of file PHG4GDMLWriteStructure.cc
References cexport.
|
protected |
Definition at line 277 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 277 of file PHG4GDMLWriteStructure.cc
References FatalException, FindOpticalSurface(), G4Exception(), PHG4GDMLWrite::GenerateName(), G4LogicalSkinSurface::GetLogicalVolume(), G4LogicalSurface::GetName(), G4SurfaceProperty::GetName(), G4LogicalVolume::GetName(), G4LogicalSurface::GetSurfaceProperty(), PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), skinElementVec, and PHG4GDMLWriteSolids::solidsElement.
Referenced by TraverseVolumeTree().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements PHG4GDMLWrite.
Definition at line 380 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 380 of file PHG4GDMLWriteStructure.cc
References PHG4GDMLWrite::NewElement(), and structureElement.
Here is the call graph for this function:
|
protectedvirtual |
Implements PHG4GDMLWrite.
Definition at line 365 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 365 of file PHG4GDMLWriteStructure.cc
References borderElementVec, pos(), skinElementVec, and structureElement.
Here is the call graph for this function:
|
protectedvirtual |
Implements PHG4GDMLWrite.
Definition at line 389 of file PHG4GDMLWriteStructure.cc.
View newest version in sPHENIX GitHub at line 389 of file PHG4GDMLWriteStructure.cc
References PHG4GDMLWrite::AddAuxInfo(), PHG4GDMLWrite::AddExtension(), PHG4GDMLWriteMaterials::AddMaterial(), PHG4GDMLWriteSolids::AddSolid(), auxmap, BorderSurfaceCache(), cexport, DivisionvolWrite(), ExportEnergyCuts(), FatalException, G4Exception(), PHG4GDMLWrite::GenerateName(), GetBorderSurface(), G4ReflectionFactory::GetConstituentLV(), G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetFrameRotation(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetMaterial(), G4VSolid::GetName(), G4Material::GetName(), G4LogicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), G4VPhysicalVolume::GetObjectTranslation(), GetSkinSurface(), G4LogicalVolume::GetSolid(), HepGeom::Transform3D::Identity, HepGeom::Transform3D::inverse(), G4VPhysicalVolume::IsParameterised(), G4ReflectionFactory::IsReflected(), G4VPhysicalVolume::IsReplicated(), PHG4GDMLWriteDefine::kRelativePrecision, PHG4GDMLWriteSolids::maxTransforms, PHG4GDMLWrite::Modularize(), PHG4GDMLWrite::NewAttribute(), PHG4GDMLWrite::NewElement(), P, PHG4GDMLWriteParamvol::ParamvolWrite(), PhysvolWrite(), Acts::IntegrationTest::R, reflFactory, ReplicavolWrite(), PHG4GDMLWrite::SchemaLocation, SkinSurfaceCache(), structureElement, PHG4GDMLWrite::VolumeMap(), and PHG4GDMLWrite::Write().
Here is the call graph for this function:
|
protected |
Definition at line 92 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 92 of file PHG4GDMLWriteStructure.hh
Referenced by AddVolumeAuxiliary(), and TraverseVolumeTree().
|
protected |
Definition at line 90 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 90 of file PHG4GDMLWriteStructure.hh
Referenced by BorderSurfaceCache(), and SurfacesWrite().
|
private |
Definition at line 100 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 100 of file PHG4GDMLWriteStructure.hh
Referenced by SetEnergyCutsExport(), and TraverseVolumeTree().
|
private |
configuration of export exlcusion volumes
Definition at line 103 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 103 of file PHG4GDMLWriteStructure.hh
|
private |
Definition at line 98 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 98 of file PHG4GDMLWriteStructure.hh
Referenced by FindOpticalSurface().
|
private |
Definition at line 99 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 99 of file PHG4GDMLWriteStructure.hh
Referenced by PHG4GDMLWriteStructure(), PhysvolWrite(), and TraverseVolumeTree().
|
protected |
Definition at line 91 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 91 of file PHG4GDMLWriteStructure.hh
Referenced by SkinSurfaceCache(), and SurfacesWrite().
|
protected |
Definition at line 89 of file PHG4GDMLWriteStructure.hh.
View newest version in sPHENIX GitHub at line 89 of file PHG4GDMLWriteStructure.hh
Referenced by StructureWrite(), SurfacesWrite(), and TraverseVolumeTree().