Status of Geant4 Geometry Debugging Functions/Tools
----- in the view of Vis/GUI category -----
Hajime Yoshida, Satoshi Tanaka,
John Allison, Motohiro Okamura,
July 4, 2001 (Geant4 Annual Workshop in Genova)
DRAFT Ver. 1.0
1. List of geometry-debugging functions/tools
- Volume-overlapping debuggers
- DAVID (S. Tanaka, K. Hashimoto)
- Bogus Geometry Test (BaBar)
- Euclid (?) (CMS)
- DTREE
- ASCII Tree (J. Allison, S. Tanaka)
- GAG Tree (H. Yoshida, S. Tanaka, et al.)
- XML Tree (S. Tanaka, M. Okamura) in preparation
- Others
- GGE (Geant4 Geometry Editor ; H. Yoshida, T. Kodama, et al.)
- etc
2. Volume-overlapping debuggers
2.1 DAVID
2.2 Bogus Geometry Test
- Volume-overlapping debugger using the Geant4 tracking routine is being developed in the BaBar group.
- Similar tracking-based debugger is being developed in the CMS group.
- Complementary to the polygon-based debugging such as debugging with DAVID
2.3 Use of CAD systems
- Geant4 STEP interface
<===> CAD system
- Polygons
generated by the Geant4 VRML driver
===> CAD system
3. DTREE
3.1 What is DTREE?
- The Geant4 function to
display hierarchical geometry-tree
structure
- It re-uses the geometry-tree-traversing classes
for visualizing physical volumes
3.2 History and plan of DTREE in Geant4
- 1996-1997: Visualization of detector geometries (physical volumes), traversing the geometry tree.
(John Allison et al.)
- 1998:The simplest ASCII-text DTREE with a g4.prim file plus the UNIX command grep (Satoshi Tanaka, John Allison)
- 1999-2000:
Re-use of the visualization/modeling
sub-category
for the ASCII-text DTREE is demonstrated.(John Allison)
- 2001: Implementation of the abstract base class G4VTree and the ASCIITree driver (John Allison)
===> included in the June release.
- 2001: Implementation of the GAGTree driver and the extended GAG (Hajime Yoshida, Satoshi Tanaka)
===> included in the June release.
- 2001: Implementation of the XMLTree driver (Satoshi Tanaka, Motohiro Okamura)
===> to be included in the December release.
3.3 How to display a geometry tree
3.4 ASCII Tree
Verbose = 0 (default: PV_name + copy_number)
World
"Calorimeter", copy no. 0
"Layer", copy no. -1 (10 replicas)
"Absorber", copy no. 0
"Gap", copy no. 0
Verbose = 1 (PV_name + copy_number + LV_name)
"World", copy no. 0, belongs to logical volume "World"
"Calorimeter", copy no. 0, belongs to logical volume "Calorimeter"
"Layer", copy no. -1, belongs to logical volume "Layer" (10 replicas)
"Absorber", copy no. 0, belongs to logical volume "Absorber"
"Gap", copy no. 0, belongs to logical volume "Gap"
Verbose = 2 (PV_name + copy_number + LV_name + solid_name + solid_type)
"World", copy no. 0, belongs to logical volume "World" and is composed of solid "World" of type "G4Box"
"Calorimeter", copy no. 0, belongs to logical volume "Calorimeter" and is composed of solid "Calorimeter" of type "G4Box"
"Layer", copy no. -1, belongs to logical volume "Layer" and is composed of solid "Layer" of type "G4Box" (10 replicas)
"Absorber", copy no. 0, belongs to logical volume "Absorber" and is composed of solid "Absorber" of type "G4Box"
"Gap", copy no. 0, belongs to logical volume "Gap" and is composed of solid "Gap" of type "G4Box"
Verbose = 10 (PV_name + copy_number with parameterized
volumes etc.expanded
"World", copy no. 0
"Calorimeter", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
"Layer", copy no. -1
"Absorber", copy no. 0
"Gap", copy no. 0
3.5 GAG Tree
- Displaying the geometry tree inside the GAG (Geant4 Adaptive GUI)
- Folding/de-folding a part of the geometry tree, using the Tree Widget of Java
- Example:
3.6 XML Tree
- XML files describing the geometry tree are created by the Geant4 XML Tree driver.
- The created XML files are visualizable
with a proper viewer.
- Recommended viewer : XML Notepad (Windows)
- Folding/de-folding
- Searching a string
- Editing the XML file is also possible.
- Viewing the geometry tree with
Internet Explorer (Windows)
- The XML source is displayed.
- Folding/de-folding
is also supported by Internet Explorer.