source: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s03.html@ 901

Last change on this file since 901 was 901, checked in by garnier, 17 years ago

Add Geant4 Documentation at 8.12.2008

File size: 44.9 KB
Line 
1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.3.  The Visualization Drivers</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s02.html" title="8.2.  Adding Visualization to Your Executable"><link rel="next" href="ch08s04.html" title="8.4.  Controlling Visualization from Commands"><script language="JavaScript">
2function remote_win(fName)
3{
4 var url = "AllResources/Detector/geometry.src/" + fName;
5 RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
6 RemoteWin.creator=self
7}
8</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.3. 
9The Visualization Drivers
10</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
11Visualization
12</th><td width="20%" align="right"> <a accesskey="n" href="ch08s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisDrv"></a>8.3. 
13The Visualization Drivers
14</h2></div></div></div><p>
15As explained in the
16
17Introduction to Visualization
18
19, Geant4 provides many different choices of
20visualization systems. Features and notes on each driver are
21briefly described here along with links to detailed web pages for
22the various drivers.
23</p><p>
24Details are given below for:
25
26</p><div class="itemizedlist"><ul type="disc" compact><li><p>
27 <a href="ch08s03.html#sect.VisDrv.OpenGL" title="8.3.2. 
28OpenGL
29">Section 8.3.2</a>
30 OpenGL
31 </p></li><li><p>
32 <a href="ch08s03.html#sect.VisDrv.OpenInv" title="8.3.3. 
33OpenInventor
34">Section 8.3.3</a>
35 OpenInventor
36 </p></li><li><p>
37 <a href="ch08s03.html#sect.VisDrv.HepRep" title="8.3.4. 
38HepRepFile
39">Section 8.3.4</a>
40 HepRepFile
41 </p></li><li><p>
42 <a href="ch08s03.html#sect.VisDrv.HepRepXML" title="8.3.5. 
43HepRepXML
44">Section 8.3.5</a>
45 HepRepXML
46 </p></li><li><p>
47 <a href="ch08s03.html#sect.VisDrv.DAWN" title="8.3.6. 
48DAWN
49">Section 8.3.6</a>
50 DAWN
51 </p></li><li><p>
52 <a href="ch08s03.html#sect.VisDrv.VRML" title="8.3.8. 
53VRML
54">Section 8.3.8</a>
55 VRML
56 </p></li><li><p>
57 <a href="ch08s03.html#sect.VisDrv.RayTrc" title="8.3.9. 
58RayTracer
59">Section 8.3.9</a>
60 RayTracer
61 </p></li><li><p>
62 <a href="ch08s03.html#sect.VisDrv.DetTree" title="8.3.10. 
63Visualization of detector geometry tree
64">Section 8.3.10</a>
65 ASCIITree
66 </p></li><li><p>
67 <a href="ch08s03.html#sect.VisDrv.GAGTree" title="8.3.11. 
68GAG Tree
69">Section 8.3.11</a>
70 GAGTree
71 </p></li><li><p>
72 <a href="ch08s03.html#sect.VisDrv.XMLTree" title="8.3.12. 
73XML Tree
74">Section 8.3.12</a>
75 XMLTree
76 </p></li></ul></div><p>
77</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.Avail"></a>8.3.1. 
78Availability of drivers on the supported systems
79</h3></div></div></div><p>
80<a href="ch08s03.html#table.VisDrv_1" title="Table 8.1. 
81Required graphics systems and supported platforms for the various
82visualization drivers.
83">Table 8.1</a> lists required graphics systems
84and supported platforms for the various visualization drivers
85
86</p><div class="table"><a name="table.VisDrv_1"></a><div class="table-contents"><table summary="
87Required graphics systems and supported platforms for the various
88visualization drivers.
89" border="1"><colgroup><col><col><col></colgroup><tbody><tr><td>
90 <span class="bold"><strong>Driver</strong></span>
91 </td><td>
92 <span class="bold"><strong>Required Graphics System</strong></span>
93 </td><td>
94 <span class="bold"><strong>Platform</strong></span>
95 </td></tr><tr><td>
96 OpenGL-Xlib
97 </td><td>
98 OpenGL
99 </td><td>
100 Linux, Unix, Mac with Xlib
101 </td></tr><tr><td>
102 OpenGL-Motif
103 </td><td>
104 OpenGL
105 </td><td>
106 Linux, UNIX, Mac with Motif
107 </td></tr><tr><td>
108 OpenGL-Win32
109 </td><td>
110 OpenGL
111 </td><td>
112 Windows
113 </td></tr><tr><td>
114 OpenInventor-X
115 </td><td>
116 OpenInventor, OpenGL
117 </td><td>
118 Linux, UNIX, Mac with Xlib or Motif
119 </td></tr><tr><td>
120 OpenInventor-Win32
121 </td><td>
122 OpenInventor, OpenGL
123 </td><td>
124 Windows
125 </td></tr><tr><td>
126 HepRep
127 </td><td>
128 WIRED or FRED HepRep Browser
129 </td><td>
130 Linux, UNIX, Mac, Windows
131 </td></tr><tr><td>
132 DAWNFILE
133 </td><td>
134 Fukui Renderer DAWN
135 </td><td>
136 Linux, Unix, Mac, Windows
137 </td></tr><tr><td>
138 DAWN-Network
139 </td><td>
140 Fukui Renderer DAWN
141 </td><td>
142 Linux, UNIX
143 </td></tr><tr><td>
144 VRMLFILE
145 </td><td>
146 any VRML viewer
147 </td><td>
148 Linux, UNIX, Mac, Windows
149 </td></tr><tr><td>
150 VRML-Network
151 </td><td>
152 any network-enabled VRML viewer
153 </td><td>
154 Linux, UNIX
155 </td></tr><tr><td>
156 RayTracer
157 </td><td>
158 any JPEG viewer
159 </td><td>
160 Linux, UNIX, Mac, Windows
161 </td></tr><tr><td>
162 ASCIITree
163 </td><td>
164 none
165 </td><td>
166 Linux, UNIX, Mac, Windows
167 </td></tr><tr><td>
168 GAGTree
169 </td><td>
170 GAG
171 </td><td>
172 Linux, UNIX, Mac, Windows
173 </td></tr><tr><td>
174 XMLTree
175 </td><td>
176 any XML viewer
177 </td><td>
178 Linux, UNIX, Mac, Windows
179 </td></tr></tbody></table></div><p class="title"><b>Table 8.1. 
180Required graphics systems and supported platforms for the various
181visualization drivers.
182</b></p></div><p><br class="table-break">
183</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.OpenGL"></a>8.3.2. 
184OpenGL
185</h3></div></div></div><p>
186These drivers have been developed by John Allison and Andrew
187Walkden (University of Manchester). It is an interface to the de
188facto standard 3D graphics library, OpenGL. It is well suited for
189real-time fast visualization and demonstration. Fast visualization
190is realized with hardware acceleration, reuse of shapes stored in a
191display list, etc. NURBS visualization is also supported.
192</p><p>
193Several versions of the OpenGL drivers are prepared. Versions
194for Xlib, Motif and Win32 platforms are available by default. For
195each version, there are two modes: immediate mode and stored mode.
196The former has no limitation on data size, and the latter is fast
197for visualizing large data repetitively, and so is suitable for
198animation.
199</p><p>
200If you don't have Motif, all control is done from Geant4
201commands:
202
203
204</p><div class="informalexample"><pre class="programlisting">
205 /vis/open OGLIX
206 /vis/viewer/set/viewpointThetaPhi 70 20
207 /vis/viewer/zoom 2
208 etc.
209</pre></div><p>
210</p><p>
211But if you have Motif libraries, you can control Geant4 from Motif
212widgets:
213
214</p><div class="informalexample"><pre class="programlisting">
215 /vis/open OGLIXm
216</pre></div><p>
217</p><p>
218The OpenGL driver added Smooth shading and Transparency since
219Geant4 release 8.0.
220</p><p>
221<span class="bold"><strong>Further information (OpenGL and Mesa):</strong></span>
222
223</p><div class="itemizedlist"><ul type="disc" compact><li><p>
224 <a href="http://www.opengl.org/" target="_top">
225 http://www.opengl.org/
226 </a>
227 </p></li><li><p>
228 <a href="http://www.mesa3d.org" target="_top">
229 http://www.mesa3d.org
230 </a>
231 </p></li><li><p>
232 <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html" target="_top">
233 Geant4 Visualization Tutorial
234 </a>
235 using the OpenGL Graphics System
236 </p></li></ul></div><p>
237</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.OpenInv"></a>8.3.3. 
238OpenInventor
239</h3></div></div></div><p>
240These drivers were developed by Jeff Kallenbach (FNAL) and Guy
241Barrand (IN2P3) based on the
242<a href="http://www-pat.fnal.gov/graphics/HEPVis/www" target="_top">
243Hepvis class library
244</a>
245 originated by Joe Boudreau (Pittsburgh University). The
246OpenInventor drivers and the Hepvis class library are based on the
247well-established OpenInventor technology for scientific
248visualization. They have high extendibility. They support high
249interactivity, e.g., attribute e diting of picked objects. Some
250OpenInventor viewers support "stereoscopic" effects.
251</p><p>
252It is also possible to save a visualized 3D scene as an
253OpenInventor-formatted file, and re-visualize the scene
254afterwards.
255</p><p>
256Because it is connected directly to the Geant4 kernel, using
257same language as that kernel (C++), OpenInventor systems can have
258direct access to Geant4 data (geometry, trajectories, etc.).
259</p><p>
260Because OpenInventor uses OpenGL for rendering, it supports
261lighting and transparency.
262</p><p>
263OpenInventor provides thumbwheel control to rotate and zoom.
264</p><p>
265OpenInventor supports picking to ask about data. [Control
266Clicking] on a volume turns on rendering of that volume's
267daughters. [Shift Clicking] a daughter turns that rendering off: If
268modeling opaque solid, effect is like opening a box to look
269inside.
270</p><p>
271<span class="bold"><strong>Further information (HEPVis and OpenScientist):</strong></span>
272
273</p><div class="itemizedlist"><ul type="disc" compact><li><p>
274 Geant4 Inventor Visualization with OpenScientist
275 <a href="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html" target="_top">
276 http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html
277 </a>
278 </p></li><li><p>
279 Overall OpenScientist Home
280 <a href="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html" target="_top">
281 http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html
282 </a>
283 </p></li><li><p>
284 HEPVis
285 <a href="http://www-pat.fnal.gov/graphics/HEPVis/www" target="_top">
286 http://www-pat.fnal.gov/graphics/HEPVis/www
287 </a>
288 </p></li></ul></div><p>
289</p><p>
290<span class="bold"><strong>Further information (OpenInventor):</strong></span>
291
292</p><div class="itemizedlist"><ul type="disc" compact><li><p>
293 <a href="http://oss.sgi.com/projects/inventor" target="_top">
294 http://oss.sgi.com/projects/inventor
295 </a>
296 </p></li><li><p>
297 Josie Wernecke, "The Inventor Mentor", Addison Wesley
298 (ISBN 0-201-62495-8)
299 </p></li><li><p>
300 Josie Wernecke, "The Inventor Toolmaker", Addison Wesley
301 (ISBN 0-201-62493-1)
302 </p></li><li><p>
303 "The Open Inventor C++ Reference Manual", Addison Wesley
304 (ISBN 0-201-62491-5)
305 </p></li></ul></div><p>
306</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.HepRep"></a>8.3.4. 
307HepRepFile
308</h3></div></div></div><p>
309The HepRepFile driver creates a HepRep XML file in the HepRep1
310format suitable for viewing with the
311<a href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/" target="_top">
312WIRED3</a> HepRep Browser.
313</p><p>
314The HepRep graphics format is further described at
315<a href="http://www.slac.stanford.edu/~perl/heprep" target="_top">
316http://www.slac.stanford.edu/~perl/heprep
317</a>
318.
319</p><p>
320To write just the detector geometry to this file, use the
321command:
322
323</p><div class="informalexample"><pre class="programlisting">
324 /vis/viewer/flush
325</pre></div><p>
326</p><p>
327Or, to also include trajectories and hits (after the appropriate
328/vis/viewer/add/trajectories or /vis/viewer/add/hits commands),
329just issue:
330
331</p><div class="informalexample"><pre class="programlisting">
332 /run/beamOn 1
333</pre></div><p>
334</p><p>
335HepRepFile will write a file called G4Data0.heprep to the
336current directory. Each subsequent file will have a file name like
337G4Data1.heprep, G4Data2.heprep, etc.
338</p><p>
339View the file using the WIRED3 HepRep Browser, available from:
340</p><p>
341<a href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/" target="_top">
342http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/
343</a>
344.
345</p><p>
346WIRED3 allows you to pick on volumes, trajectories and hits to
347find out their associated HepRep Attributes, such as volume name,
348particle ID, momentum, etc. These same attributes can be displayed
349as labels on the relevant objects, and you can make visibility cuts
350based on these attributes ("show me only the photons", or "omit any
351volumes made of iron").
352</p><p>
353WIRED3 can read heprep files in zipped format as well as
354unzipped, so you can save space by applying gzip to the heprep
355file. This will reduce the file to about five percent of its
356original size.
357</p><p>
358Several environment variables are available to override some of
359HepRepFile's defaults
360
361</p><div class="itemizedlist"><ul type="disc" compact><li><p>
362 You can specify a different directory for the heprep output
363 files by setting the environment variable G4HEPREPFILE_DIR, as in:
364
365 </p><div class="informalexample"><pre class="programlisting">
366 export G4HEPREPFILE_DIR=someOtherDir/someOtherSubDir
367 </pre></div><p>
368 </p></li><li><p>
369 You can specify a different file name (the part before the
370 number) by setting the environment variable G4HEPREPFILE_NAME, as in:
371
372 </p><div class="informalexample"><pre class="programlisting">
373 export G4HEPREPFILE_NAME=myFileName
374 </pre></div><p>
375
376 which will produce files named myFileName0.heprep,
377 myFileName1.heprep, etc.
378 </p></li><li><p>
379 You can specify that each file should overwrite the previous
380 file (always rewriting to the same file name) by setting the
381 environment variable G4HEPREPFILE_OVERWRITE, as in:
382
383 </p><div class="informalexample"><pre class="programlisting">
384 export G4HEPREPFILE_OVERWRITE=1
385 </pre></div><p>
386
387 This may be useful in some automated applications where you always
388 want to see the latest output file in the same location.
389 </p></li></ul></div><p>
390
391
392</p><div class="itemizedlist"><ul type="disc"><li><p>
393 Geant4 visualization supports a concept called "culling", by
394 which certain parts of the detector can be made invisible. Since
395 you may want to control visibility from the HepRep browser, turning
396 on visibility of detector parts that had defaulted to be invisible,
397 the HepRepFile driver does not omit these invisible detector parts
398 from the HepRep file. But for very large files, if you know that
399 you will never want to make these parts visible, you can choose to
400 have them left entirely out of the file. Set the environment
401 variable G4HEPREPFILE_CULL, as in:
402
403 </p><div class="informalexample"><pre class="programlisting">
404 export G4HEPREPFILE_CULL=1
405 </pre></div><p>
406 </p></li></ul></div><p>
407</p><p>
408<span class="bold"><strong>Further information:</strong></span>
409
410</p><div class="itemizedlist"><ul type="disc" compact><li><p>
411 WIRED3 Users Home Page:
412 </p><p>
413 <a href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/" target="_top">
414 http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/
415 </a>
416 .
417 </p><p>
418 </p></li><li><p>
419 HepRep graphics format:
420 </p><p>
421 <a href="http://www.slac.stanford.edu/~perl/heprep" target="_top">
422 http://www.slac.stanford.edu/~perl/heprep
423 </a>
424 </p><p>
425 </p></li><li><p>
426 Geant4 Visualization Tutorial using the WIRED3 HepRep Browser
427 </p><p>
428 <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html" target="_top">
429 http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html
430 </a>
431 </p><p>
432 </p></li></ul></div><p>
433</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.HepRepXML"></a>8.3.5. 
434HepRepXML
435</h3></div></div></div><p>
436The HepRepXML driver creates a HepRep file in the HepRep2 format
437suitable for viewing with the
438<a href="http://wired.freehep.org/index.html" target="_top">
439WIRED4
440</a>
441 Plugin to the JAS3 Analysis System or the
442<a href="http://www.fisica.uniud.it/~glast/FRED/" target="_top">
443FRED
444</a>
445 event display.
446</p><p>
447This driver can write both Binary HepRep (.bheprep) and XML
448HepRep (.heprep) files. Binary HepRep files are a one-to-one
449translation of XML HepRep files, but they are considerably shorter
450and faster to parse by a HepRepViewer such as WIRED 4.
451</p><p>
452Both Binary HepRep and XML HepRep can be compressed using the
453standard zlib library if linked into Geant4 using G4LIB_USE_ZLIB.
454If a standard zlib is not available (WIN32-VC for instance) you
455should also set G4LIB_BUILD_ZLIB to build G4zlib included with
456Geant4.
457</p><p>
458HepRep files (Binary and XML) can contain multiple HepRep
459events/geometries. If the file contains more than one HepRep it is
460not strictly XML anymore. Files can be written in .heprep.zip,
461.heprep.gz or .heprep format and their binary versions
462.bheprep.zip, .bheprep.gz or .bheprep.
463</p><p>
464The .heprep.zip is the default for file output, the .heprep is
465the default for stdout and stderr.
466</p><p>
467(Optional) To set the filename with a particular extension such
468as: .heprep.zip, .heprep.gz, .heprep, .bheprep.zip, .bheprep.gz or
469.bheprep use for instance:
470
471</p><div class="informalexample"><pre class="programlisting">
472 /vis/scene/create filename.bheprep.zip
473</pre></div><p>
474</p><p>
475(Optional) To create separate files for each event, you can set
476a suffix such as "-0001" to start writing files from
477filename-0001.bheprep.zip to filename-9999.bheprep.zip (or up),
478while "-55-sub" will start write files filename-55-sub.bheprep.zip
479to filename-99-sub.bheprep.zip (or up).
480
481</p><div class="informalexample"><pre class="programlisting">
482 /vis/heprep/setEventNumberSuffix -0001
483</pre></div><p>
484</p><p>
485(Note: suffix has to contain at least one digit)
486</p><p>
487(Optional) To route the HepRep XML output to stdout (or stderr),
488by default uncompressed, use:
489
490</p><div class="informalexample"><pre class="programlisting">
491 /vis/scene/create stdout
492</pre></div><p>
493</p><p>
494(Optional) To add attributes to each point on a trajectory, use:
495
496</p><div class="informalexample"><pre class="programlisting">
497 /vis/heprep/addPointAttributes 1
498</pre></div><p>
499</p><p>
500Be aware that this may increase the size of the output
501dramatically.
502</p><p>
503(Optional) You may use the commands:
504
505</p><div class="informalexample"><pre class="programlisting">
506 /vis/viewer/zoom to set an initial zoom factor
507
508 /vis/viewer/set/viewpointThetaPhi to set an initial view point
509
510 /vis/heprep/setCoordinateSystem uvw to change the coordinate system, where uvw
511 can be "xyz", "zxy", ...
512</pre></div><p>
513</p><p>
514(Optional) You may decide to write .zip files with events and
515geometry separated (but linked). This results in a smaller zip
516file, as the geometry is only written once. Use the command:
517
518</p><div class="informalexample"><pre class="programlisting">
519 /vis/heprep/appendGeometry false
520</pre></div><p>
521</p><p>
522(Optional) To close the file, remove the SceneHandler, use:
523
524</p><div class="informalexample"><pre class="programlisting">
525 /vis/sceneHandler/remove scene-handler-0
526</pre></div><p>
527</p><p>
528Limitations: Only one SceneHandler can exist at any time,
529connected to a single Viewer. Since the HepRep format is a model
530rather than a view this is not a real limitation. In WIRED 4 you
531can create as many views (SceneHandlers) as you like.
532</p><p>
533<span class="bold"><strong>Further information:</strong></span>
534
535</p><div class="itemizedlist"><ul type="disc" compact><li><p>
536 <a href="http://wired.freehep.org/index.html" target="_top">
537 WIRED4</a> Plugin to the JAS3 Analysis System
538 </p></li><li><p>
539 <a href="http://www.fisica.uniud.it/~glast/FRED/" target="_top">
540 FRED</a> event display
541 </p></li><li><p>
542 HepRep graphics format:
543 </p><p>
544 <a href="http://www.slac.stanford.edu/~perl/heprep" target="_top">
545 http://www.slac.stanford.edu/~perl/heprep
546 </a>
547 </p><p>
548 </p></li></ul></div><p>
549</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.DAWN"></a>8.3.6. 
550DAWN
551</h3></div></div></div><p>
552The DAWN drivers are interfaces to
553<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html" target="_top">
554Fukui Renderer DAWN</a>, which has been developed by Satoshi Tanaka,
555Minato Kawaguti et al (Fukui University). It is a vectorized 3D
556PostScript processor, and so well suited to prepare technical high
557quality outputs for presentation and/or documentation. It is also
558useful for precise debugging of detector geometry. Remote
559visualization, off-line re-visualization, cut view, and many other
560useful functions of detector simulation are supported. A DAWN
561process is automatically invoked as a co-process of Geant4 when
562visualization is performed, and 3D data are passed with
563inter-process communication, via a file, or the TCP/IP socket.
564</p><p>
565When Geant4 Visualization is performed with the DAWN driver, the
566visualized view is automatically saved to a file named
567<code class="literal">g4.eps</code> in the current directory, which describes a
568vectorized (Encapsulated) PostScript data of the view.
569</p><p>
570There are two kinds of DAWN drivers, the DAWNFILE driver and the
571DAWN-Network driver. The DAWNFILE driver is usually recommended,
572since it is faster and safer in the sense that it is not affected
573by network conditions.
574</p><p>
575The DAWNFILE driver sends 3D data to DAWN via an intermediate
576file, named <code class="literal">g4.prim</code> in the current directory. The file
577<code class="literal">g4.prim</code> can be re-visualized later without the help of
578Geant4. This is done by invoking DAWN by hand:
579
580</p><div class="informalexample"><pre class="programlisting">
581 % dawn g4.prim
582</pre></div><p>
583</p><p>
584DAWN files can also serve as input to two additional programs:
585
586</p><div class="itemizedlist"><ul type="disc" compact><li><p>
587 A standalone program, DAWNCUT, can perform a planar cut on a
588 DAWN image. DAWNCUT takes as input a .prim file and some cut
589 parameters. Its output is a new .prim file to which the cut has
590 been applied.
591 </p></li><li><p>
592 Another standalone program, DAVID, can show you any volume
593 overlap errors in your geometry. DAVID takes as input a .prim file
594 and outputs a new .prim file in which overlapping volumes have been
595 highlighted. The use of DAVID is described in section
596 <a href="ch04.html#sect.Geom.Overlap" title="4.1.11. 
597Detecting Overlapping Volumes
598">Section 4.1.11</a> of this manual.
599 </p></li></ul></div><p>
600</p><p>
601The DAWN-Network driver is almost the same as the DAWNFILE
602driver except that
603
604</p><div class="itemizedlist"><ul type="disc" compact><li><p>
605 3D data are passed to DAWN via the TCP/IP the socket (default)
606 or the named pipe, and that,
607 </p></li></ul></div><p>
608</p><p>
609If you have not set up network configurations of your host machine,
610set the environment variable <code class="literal">G4DAWN_NAMED_PIPE</code> to "1",
611e.g., <code class="literal">% setenv G4DAWN_NAMED_PIPE 1</code>. This setting switches
612the default socket connection to the named-pipe connection within
613the same host machine. The DAWN-Network driver also saves the 3D
614data to the file <code class="literal">g4.prim</code> in the current directory.
615</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.RemDAWN"></a>8.3.7. 
616Remote Visualization with the DAWN-Network Driver
617</h3></div></div></div><p>
618Visualization in Geant4 is considered to be "remote" when it is
619performed on a machine other than the Geant4 host. Some of the
620visualization drivers support this feature.
621</p><p>
622Usually, the visualization host is your local host, while the
623Geant4 host is a remote host where you log in, for example, with
624the <code class="literal">telnet</code> command. This enables distributed
625processing of Geant4 visualization, avoiding the transfer of large
626amounts of visualization data to your terminal display via the
627network. This section describes how to perform remote Geant4
628visualization with the DAWN-Network driver. In order to do it,
629you must install the Fukui Renderer DAWN on your local host
630beforehand.
631</p><p>
632The following steps realize remote Geant4 visualization viewed
633by DAWN.
634
635</p><div class="orderedlist"><ol type="1" compact><li><p>
636 Invoke DAWN with "-G" option on your local host:
637
638 </p><div class="informalexample"><pre class="programlisting">
639 Local_Host&gt; dawn -G
640 </pre></div><p>
641
642 This invokes DAWN with the network connection mode.
643 </p></li><li><p>
644 Login to the remote host where a Geant4 executable is placed.
645 </p></li><li><p>
646 Set an environment variable on the remote host as follows:
647
648 </p><div class="informalexample"><pre class="programlisting">
649 Remote_Host&gt; setenv G4DAWN_HOST_NAME local_host_name
650 </pre></div><p>
651
652 For example, if you are working in the local host named
653 "arkoop.kek.jp", set this environment variable as follows:
654
655 </p><div class="informalexample"><pre class="programlisting">
656 Remote_Host&gt; setenv G4DAWN_HOST_NAME arkoop.kek.jp
657 </pre></div><p>
658
659 This tells a Geant4 process running on the remote host where Geant4
660 Visualization should be performed, i.e., where the visualized views
661 should be displayed.
662 </p></li><li><p>
663 Invoke a Geant4 process and perform visualization with the
664 DAWN-Network driver. For example:
665
666 </p><div class="informalexample"><pre class="programlisting">
667 Idle&gt; /vis/open DAWN
668 Idle&gt; /vis/drawVolume
669 Idle&gt; /vis/viewer/flush
670 </pre></div><p>
671 </p></li></ol></div><p>
672</p><p>
673In step 4, 3D scene data are sent from the remote host to the
674local host as
675<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/" target="_top">
676DAWN-formatted data</a>, and the local DAWN will visualize the data. The
677transferred data are saved as a file named <code class="literal">g4.prim</code> in the
678current directory of the local host.
679</p><p>
680<span class="bold"><strong>Further information:</strong></span>
681
682</p><div class="itemizedlist"><ul type="disc" compact><li><p>
683 <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html" target="_top">
684 http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html
685 </a>
686 </p></li><li><p>
687 <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/" target="_top">
688 http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/
689 </a>
690 </p></li></ul></div><p>
691</p><p>
692<span class="bold"><strong>Further information:</strong></span>
693
694</p><div class="itemizedlist"><ul type="disc" compact><li><p>
695 Fukui Renderer DAWN:
696 </p><p>
697 <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html" target="_top">
698 http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html
699 </a>
700 </p><p>
701 </p></li><li><p>
702 The DAWNFILE driver:
703 </p><p>
704 <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html" target="_top">
705 http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html
706 </a>
707 </p><p>
708 </p></li><li><p>
709 The DAWN-Network driver:
710 </p><p>
711 <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html" target="_top">
712 http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html
713 </a>
714 </p><p>
715 </p></li><li><p>
716 Environmental variables to customize DAWN and DAWN drivers:
717 </p><p>
718 <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html" target="_top">
719 http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html
720 </a>
721 </p><p>
722 </p><p>
723 <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html" target="_top">
724 http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html
725 </a>
726 </p><p>
727 </p></li><li><p>
728 DAWN format (g4.prim format) manual:
729 </p><p>
730 <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/" target="_top">
731 http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/
732 </a>
733 </p><p>
734 </p></li><li><p>
735 Geant4 Fukui University Group Home Page:
736 </p><p>
737 <a href="http://geant4.kek.jp/GEANT4/vis/" target="_top">
738 http://geant4.kek.jp/GEANT4/vis/
739 </a>
740 </p><p>
741 </p></li><li><p>
742 DAWNCUT:
743 </p><p>
744 <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html" target="_top">
745 http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html
746 </a>
747 </p><p>
748 </p></li><li><p>
749 DAVID:
750 </p><p>
751 <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html" target="_top">
752 http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html
753 </a>
754 </p><p>
755 </p></li><li><p>
756 Geant4 Visualization Tutorial using the DAWN Renderer:
757 </p><p>
758 <a href="http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html" target="_top">
759 http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html
760 </a>
761 </p><p>
762 </p></li></ul></div><p>
763</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.VRML"></a>8.3.8. 
764VRML
765</h3></div></div></div><p>
766These drivers were developed by Satoshi Tanaka and Yasuhide Sawada
767(Fukui University). They generate VRML files, which describe 3D
768scenes to be visualized with a proper VRML viewer, at either a
769local or a remote host. It realizes virtual-reality visualization
770with your WWW browser. There are many excellent VRML viewers, which
771enable one to perform interactive spinning of detectors, walking
772and/or flying inside detectors or particle showers, interactive
773investigation of detailed detector geometry etc.
774</p><p>
775There are two kinds of VRML drivers: the VRMLFILE driver, and
776the VRML-Network driver. The VRMLFILE driver is usually
777recommended, since it is faster and safer in the sense that it is
778not affected by network conditions.
779</p><p>
780The VRMLFILE driver sends 3D data to your VRML viewer, which is
781running on the same host machine as Geant4, via an intermediate
782file named <code class="literal">g4.wrl</code> created in the current directory. This
783file can be re-visualization afterwards. In visualization, the name
784of the VRML viewer should be specified by setting the environment
785variable <code class="literal">G4VRML_VIEWER</code> beforehand. For example,
786
787</p><div class="informalexample"><pre class="programlisting">
788 % setenv G4VRML_VIEWER "netscape"
789</pre></div><p>
790</p><p>
791Its default value is <code class="literal">NONE</code>, which means that no viewer
792is invoked and only the file <code class="literal">g4.wrl</code> is generated.
793</p><h5><a name="id505679"></a>
794Remote Visualization with the VRML-Network Driver
795</h5><p>
796Visualization in Geant4 is considered to be "remote" when it is
797performed on a machine other than the Geant4 host. Some of the
798visualization drivers support this feature.
799</p><p>
800Usually, the visualization host is your local host, while the
801Geant4 host is a remote host where you log in, for example, with
802the <code class="literal">telnet</code> command. This enables distributed processing of
803Geant4 visualization, avoiding the transfer of large amounts of
804visualization data to your terminal display via the network.
805</p><p>
806In order to perform remote visualization with the VRML-Network
807driver, the following must be installed on your local host
808beforehand:
809
810</p><div class="orderedlist"><ol type="1" compact><li><p>
811 a VRML viewer
812 </p></li><li><p>
813 the Java application <code class="literal">g4vrmlview</code>.
814 </p></li></ol></div><p>
815</p><p>
816The Java application <code class="literal">g4vrmlview</code> is included as part of the
817Geant4 package and is located at:
818
819</p><div class="informalexample"><pre class="programlisting">
820 source/visualization/VRML/g4vrmlview/
821</pre></div><p>
822</p><p>
823Installation instructions for <code class="literal">g4vrmlview</code> can be found in
824the <code class="literal">README</code> file there, or on the WWW page below.
825</p><p>
826The following steps realize remote Geant4 visualization
827displayed with your local VRML browser:
828
829</p><div class="orderedlist"><ol type="1" compact><li><p>
830 Invoke the <code class="literal">g4vrmlview</code> on your local host, giving a
831 VRML viewer name as its argument:
832
833 </p><div class="informalexample"><pre class="programlisting">
834 Local_Host&gt; java g4vrmlview VRML_viewer_name
835 </pre></div><p>
836
837 For example, if you want to use the Netscape browser as your VRML
838 viewer, execute <code class="literal">g4vrmlview</code> as follows:
839
840 </p><div class="informalexample"><pre class="programlisting">
841 Local_Host&gt; java g4vrmlview netscape
842 </pre></div><p>
843
844 Of course, the command path to the VRML viewer should be properly set.
845 </p></li><li><p>
846 Log in to the remote host where a Geant4 executable is placed.
847 </p></li><li><p>
848 Set an environment variable on the remote host as follows:
849
850 </p><div class="informalexample"><pre class="programlisting">
851 Remote_Host&gt; setenv G4VRML_HOST_NAME local_host_name
852 </pre></div><p>
853
854 For example, if you are working on the local host named
855 "arkoop.kek.jp", set this environment variable as follows:
856
857 </p><div class="informalexample"><pre class="programlisting">
858 Remote_Host&gt; setenv G4VRML_HOST_NAME arkoop.kek.jp
859 </pre></div><p>
860
861 This tells a Geant4 process running on the remote host where Geant4
862 Visualization should be performed, i.e., where the visualized views
863 should be displayed.
864 </p></li><li><p>
865 Invoke a Geant4 process and perform visualization with the
866 VRML-Network driver. For example:
867
868 </p><div class="informalexample"><pre class="programlisting">
869 Idle&gt; /vis/open VRML2
870 Idle&gt; /vis/drawVolume
871 Idle&gt; /vis/viewer/update
872 </pre></div><p>
873 </p></li></ol></div><p>
874</p><p>
875In step 4, 3D scene data are sent from the remote host to the
876local host as VRML-formatted data, and the VRML viewer specified in
877step 3 is invoked by the <code class="literal">g4vrmlview</code> process to visualize
878the VRML data. The transferred VRML data are saved as a file named
879<code class="literal">g4.wrl</code> in the current directory of the local host.
880</p><p>
881<span class="bold"><strong>Further information:</strong></span>
882
883
884</p><div class="itemizedlist"><ul type="disc" compact><li><p>
885 <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html" target="_top">
886 http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html
887 </a>
888 </p></li></ul></div><p>
889</p><p>
890<span class="bold"><strong>Further information (VRML drivers):</strong></span>
891
892
893</p><div class="itemizedlist"><ul type="disc" compact><li><p>
894 <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html" target="_top">
895 http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html
896 </a>
897 </p></li><li><p>
898 <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html" target="_top">
899 http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html
900 </a>
901 </p></li></ul></div><p>
902</p><p>
903<span class="bold"><strong>Sample VRML files:</strong></span>
904
905
906</p><div class="itemizedlist"><ul type="disc" compact><li><p>
907 <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/" target="_top">
908 http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/
909 </a>
910 </p></li></ul></div><p>
911</p><p>
912<span class="bold"><strong>Further information (VRML language and browsers):</strong></span>
913
914</p><div class="itemizedlist"><ul type="disc" compact><li><p>
915 <a href="http://www.vrmlsite.com/" target="_top">http://www.vrmlsite.com/
916 </a>
917 </p></li></ul></div><p>
918</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.RayTrc"></a>8.3.9. 
919RayTracer
920</h3></div></div></div><p>
921This driver was developed by Makoto Asai and Minamimoto (Hirosihma
922Instutute of Technology). It performs ray-tracing visualization
923using the tracking routines of Geant4. It is, therefore, available
924for every kinds of shapes/solids which Geant4 can handle. It is
925also utilized for debugging the user's geometry for the tracking
926routines of Geant4. It is well suited for photo-realistic high
927quality output for presentation, and for intuitive debugging of
928detector geometry. It produces a JPEG file. This driver is by
929default listed in the available visualization drivers of user's
930application.
931</p><p>
932Some pieces of geometries may fail to show up in other
933visualization drivers (due to algorithms those drivers use to
934compute visualizable shapes and polygons), but RayTracer can handle
935any geometry that the Geant4 navigator can handle.
936</p><p>
937Because RayTracer in essence takes over Geant4's tracking
938routines for its own use, RayTracer cannot be used to visualize
939Trajectories or hits.
940</p><p>
941An X-Window version, called RayTracerX, can be selected by
942setting <code class="literal">G4VIS_BUILD_RATRACERX_DRIVER</code> at Geant4 library
943build time and <code class="literal">G4VIS_USE_RAYTRACERX</code> at application (user
944code) build time (assuming you use the standard visualization
945manager, <code class="literal">G4VisExecutive</code>, or an equally smart vis manager).
946RayTracerX builds the same jpeg file as RayTracer, but
947simultaneously renders to screen so you can watch as rendering
948grows progressively smoother.
949</p><p>
950RayTracer has its own built-in commands -
951<code class="literal">/vis/rayTracer/</code>.... Alternatively, you can treat it as a
952normal vis system and use <code class="literal">/vis/viewer/</code>... commands,
953e.g:
954
955</p><div class="informalexample"><pre class="programlisting">
956 /vis/open RayTracerX
957 /vis/drawVolume
958 /vis/viewer/set/viewpointThetaPhi 30 30
959 /vis/viewer/refresh
960</pre></div><p>
961</p><p>
962The view parameters are translated into the necessary RayTracer
963parameters.
964</p><p>
965RayTracer is compute intensive. If you are unsure of a good
966viewing angle or zoom factor, you might be advised to choose them
967with a faster renderer, such as OpenGL, and transfer the view
968parameters with <code class="literal">/vis/viewer/set/all</code>:
969
970</p><div class="informalexample"><pre class="programlisting">
971 /vis/open OGLSXm # or any of the OGL options. Opens, say, viewer-0.
972 /vis/drawVolume
973 /vis/viewer/zoom # plus any /vis/viewer/commands that get you the view you want.
974 /vis/open RayTracerX
975 /vis/viewer/set/all viewer-0
976 /vis/viewer/refresh
977</pre></div><p>
978</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.DetTree"></a>8.3.10. 
979Visualization of detector geometry tree
980</h3></div></div></div><p>
981ASCIITREE is a visualization driver that is not actually graphical
982but that dumps the volume hierarchy as a simple text tree.
983</p><p>
984Each call to /vis/viewer/flush or /vis/drawTree will dump the
985tree.
986</p><p>
987ASCIITree has command to control its verbosity,
988<code class="literal">/vis/ASCIITree/verbose</code>. The verbosity value controls the
989amount of information available, e.g., physical volume name alone,
990or also logical volume and solid names. If the volume is
991"sensitive" and/or has a "readout geometry", this may also be
992indicated. Also, the mass of the physical volume tree(s) can be
993printed (but beware - higher verbosity levels can be
994computationally intensive).
995</p><p>
996At verbosity level 4, ASCIITree calculates the mass of the
997complete geometry tree taking into account daughters up to the
998depth specified for each physical volume. The calculation involves
999subtracting the mass of that part of the mother that is occupied by
1000each daughter and then adding the mass of the daughter, and so on
1001down the hierarchy.
1002
1003</p><div class="informalexample"><pre class="programlisting">
1004 /vis/ASCIITree/Verbose 4
1005 /vis/viewer/flush
1006 "HadCalorimeterPhysical":0 / "HadCalorimeterLogical" / "HadCalorimeterBox"(G4Box),
1007 1.8 m3 , 11.35 g/cm3
1008 "HadCalColumnPhysical":-1 (10 replicas) / "HadCalColumnLogical" / "HadCalColumnBox"(G4Box),
1009 180000 cm3, 11.35 g/cm3
1010 "HadCalCellPhysical":-1 (2 replicas) / "HadCalCellLogical" / "HadCalCellBox"(G4Box),
1011 90000 cm3, 11.35 g/cm3
1012 "HadCalLayerPhysical":-1 (20 replicas) / "HadCalLayerLogical" / "HadCalLayerBox"(G4Box),
1013 4500 cm3, 11.35 g/cm3
1014 "HadCalScintiPhysical":0 / "HadCalScintiLogical" / "HadCalScintiBox"(G4Box),
1015 900 cm3, 1.032 g/cm3
1016
1017 Calculating mass(es)...
1018 Overall volume of "worldPhysical":0, is 2400 m3
1019 Mass of tree to unlimited depth is 22260.5 kg
1020</pre></div><p>
1021</p><p>
1022Some more examples of ASCIITree in action:
1023
1024</p><div class="informalexample"><pre class="programlisting">
1025 Idle&gt; /vis/ASCIITree/verbose 1
1026 Idle&gt; /vis/drawTree
1027 # Set verbosity with "/vis/ASCIITree/verbose
1028 # &lt; 10: - does not print daughters of repeated placements, does not repeat replicas.
1029 # &gt;= 10: prints all physical volumes.
1030 # The level of detail is given by verbosity%10:
1031 # for each volume:
1032 # &gt;= 0: physical volume name.
1033 # &gt;= 1: logical volume name (and names of sensitive detector and readout geometry, if any).
1034 # &gt;= 2: solid name and type.
1035 # &gt;= 3: volume and density.
1036 # &gt;= 5: daughter-subtracted volume and mass.
1037 # and in the summary at the end of printing:
1038 # &gt;= 4: daughter-included mass of top physical volume(s) in scene to depth specified.
1039 .....
1040 "Calorimeter", copy no. 0, belongs to logical volume "Calorimeter"
1041 "Layer", copy no. -1, belongs to logical volume "Layer" (10 replicas)
1042 "Absorber", copy no. 0, belongs to logical volume "Absorber"
1043 "Gap", copy no. 0, belongs to logical volume "Gap"
1044 .....
1045 Idle&gt; /vis/ASCIITree/verbose 15
1046 Idle&gt; /vis/drawTree
1047 ....
1048 "tube_phys":0 / "tube_L" / "tube"(G4Tubs), 395841 cm3, 1.782 mg/cm3,
1049 9.6539e-08 mm3, 1.72032e-10 mg
1050 "divided_tube_phys":0 / "divided_tube_L" / "divided_tube"(G4Tubs), 65973.4 cm3,
1051 1.782 mg/cm3, 7587.54 cm3, 13.521 g
1052 "divided_tube_inset_phys":0 / "divided_tube_inset_L" / "divided_tube_inset"(G4Tubs),
1053 58385.9 cm3, 1.782 mg/cm3, 6.03369e-09 mm3, 1.0752e-11 mg
1054 "sub_divided_tube_phys":0 / "sub_divided_tube_L" / "sub_divided_tube"(G4Tubs),
1055 14596.5 cm3, 1.782 mg/cm3, 12196.5 cm3, 21.7341 g
1056 .....
1057 Calculating mass(es)...
1058 Overall volume of "expHall_P":0, is 8000 m3 and the daughter-included mass to unlimited depth
1059 is 78414 kg
1060 .....
1061</pre></div><p>
1062</p><p>
1063For the complete list of commands and options, see the
1064<a href="./AllResources/Control/UIcommands/_vis_.html" target="_top">
1065Control...UICommands</a> section of this user guide.
1066</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.GAGTree"></a>8.3.11. 
1067GAG Tree
1068</h3></div></div></div><p>
1069The GAGTree driver provides a listing of the detector geometry tree
1070within GAG, the Geant Adaptive GUI, (
1071<a href="http://erpc1.naruto-u.ac.jp/~geant4" target="_top">
1072http://erpc1.naruto-u.ac.jp/~geant4
1073</a>
1074). GAG allows "folding/un-folding" a part of the geometry tree, using
1075the <span class="emphasis"><em>Tree Widget</em></span> in Java:
1076
1077</p><div class="informalfigure"><a name="fig.VisDrv_1"></a><div class="mediaobject" align="center"><img src="./AllResources/Visualization/visualization.src/gagtree.jpg" align="middle"></div></div><p>
1078</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.XMLTree"></a>8.3.12. 
1079XML Tree
1080</h3></div></div></div><p>
1081The XML description of the geometry tree can be created in Geant4
1082by the XML Tree driver. The XML source can also be edited on the
1083fly. The created XML files are visualizable with any XML browser
1084(in Windows, a good XML viewer is <span class="emphasis"><em>XML Notepad</em></span>).
1085
1086</p><div class="itemizedlist"><ul type="disc" compact><li><p>
1087 Folding and un-folding:
1088
1089 </p><div class="informalfigure"><a name="fig.VisDrv_2"></a><div class="mediaobject" align="center"><img src="./AllResources/Visualization/visualization.src/xmlnp.gif" align="middle"></div></div><p>
1090 </p></li></ul></div><p>
1091
1092
1093</p><div class="itemizedlist"><ul type="disc"><li><p>
1094 Searching a string:
1095
1096 </p><div class="informalfigure"><a name="fig.VisDrv_3"></a><div class="mediaobject" align="center"><img src="./AllResources/Visualization/visualization.src/xmlnpfind.gif" align="middle"></div></div><p>
1097 </p></li></ul></div><p>
1098</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.2. 
1099Adding Visualization to Your Executable
1100 </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.4. 
1101Controlling Visualization from Commands
1102</td></tr></table></div></body></html>
Note: See TracBrowser for help on using the repository browser.