source: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visdrivers.xml @ 905

Last change on this file since 905 was 905, checked in by garnier, 16 years ago

update

File size: 46.1 KB
Line 
1<!-- ******************************************************** -->
2<!--                                                          -->
3<!--  [History]                                               -->
4<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
5<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
6<!--                                                          -->
7<!-- ******************************************************** -->
8
9
10<!-- ******************* Section (Level#1) ****************** -->
11<sect1 id="sect.VisDrv">
12<title>
13The Visualization Drivers
14</title>
15
16<para>
17As explained in the
18<!-- !!! xref linkend=""/ or ulink url="" -->
19Introduction to Visualization
20<!-- !! /ulink (remove this tag for xref) -->
21, Geant4 provides many different choices of
22visualization systems. Features and notes on each driver are
23briefly described here along with links to detailed web pages for
24the various drivers.
25</para>
26
27<para>
28Details are given below for:
29
30<itemizedlist spacing="compact">
31  <listitem><para>
32    <xref linkend="sect.VisDrv.OpenGL" />
33    OpenGL
34  </para></listitem>
35  <listitem><para>
36    <xref linkend="sect.VisDrv.Qt" />
37    Qt
38  </para></listitem>
39  <listitem><para>
40    <xref linkend="sect.VisDrv.OpenInv" />
41    OpenInventor
42  </para></listitem>
43  <listitem><para>
44    <xref linkend="sect.VisDrv.HepRep" />
45    HepRepFile
46  </para></listitem>
47  <listitem><para>
48    <xref linkend="sect.VisDrv.HepRepXML" />
49    HepRepXML
50  </para></listitem>
51  <listitem><para>
52    <xref linkend="sect.VisDrv.DAWN" />
53    DAWN
54  </para></listitem>
55  <listitem><para>
56    <xref linkend="sect.VisDrv.VRML" />
57    VRML
58  </para></listitem>
59  <listitem><para>
60    <xref linkend="sect.VisDrv.RayTrc" />
61    RayTracer
62  </para></listitem>
63  <listitem><para>
64    <xref linkend="sect.VisDrv.DetTree" />
65    ASCIITree
66  </para></listitem>
67  <listitem><para>
68    <xref linkend="sect.VisDrv.GAGTree" />
69    GAGTree
70  </para></listitem>
71  <listitem><para>
72    <xref linkend="sect.VisDrv.XMLTree" />
73    XMLTree
74  </para></listitem>
75</itemizedlist>
76</para>
77
78
79<!-- ******************* Section (Level#2) ****************** -->
80<sect2 id="sect.VisDrv.Avail">
81<title>
82Availability of drivers on the supported systems
83</title>
84
85<para>
86<xref linkend="table.VisDrv_1" /> lists required graphics systems
87and supported platforms for the various visualization drivers
88
89<table id="table.VisDrv_1">
90<title>
91Required graphics systems and supported platforms for the various
92visualization drivers.
93</title>
94
95<tgroup cols="3">
96  <tbody>
97  <row>
98    <entry>
99      <emphasis role="bold">Driver</emphasis>
100    </entry>
101    <entry>
102      <emphasis role="bold">Required Graphics System</emphasis>
103    </entry>
104    <entry>
105      <emphasis role="bold">Platform</emphasis>
106    </entry>
107  </row>
108  <row>
109    <entry>
110      OpenGL-Xlib
111    </entry>
112    <entry>
113      OpenGL
114    </entry>
115    <entry>
116      Linux, Unix, Mac with Xlib
117    </entry>
118  </row>
119  <row>
120    <entry>
121      OpenGL-Motif
122    </entry>
123    <entry>
124      OpenGL
125    </entry>
126    <entry>
127      Linux, UNIX, Mac with Motif
128    </entry>
129  </row>
130  <row>
131    <entry>
132      OpenGL-Win32
133    </entry>
134    <entry>
135      OpenGL
136    </entry>
137    <entry>
138      Windows
139    </entry>
140  </row>
141  <row>
142    <entry>
143      Qt
144    </entry>
145    <entry>
146      Qt, OpenGL
147    </entry>
148    <entry>
149      Linux, Unix, Mac, Windows
150    </entry>
151  </row>
152  <row>
153    <entry>
154      OpenInventor-X
155    </entry>
156    <entry>
157      OpenInventor, OpenGL
158    </entry>
159    <entry>
160      Linux, UNIX, Mac with Xlib or Motif
161    </entry>
162  </row>
163  <row>
164    <entry>
165      OpenInventor-Win32
166    </entry>
167    <entry>
168      OpenInventor, OpenGL
169    </entry>
170    <entry>
171      Windows
172    </entry>
173  </row>
174  <row>
175    <entry>
176      HepRep
177    </entry>
178    <entry>
179      WIRED or FRED HepRep Browser
180    </entry>
181    <entry>
182      Linux, UNIX, Mac, Windows
183    </entry>
184  </row>
185  <row>
186    <entry>
187      DAWNFILE
188    </entry>
189    <entry>
190      Fukui Renderer DAWN
191    </entry>
192    <entry>
193      Linux, Unix, Mac, Windows
194    </entry>
195  </row>
196  <row>
197    <entry>
198      DAWN-Network
199    </entry>
200    <entry>
201      Fukui Renderer DAWN
202    </entry>
203    <entry>
204      Linux, UNIX
205    </entry>
206  </row>
207  <row>
208    <entry>
209      VRMLFILE
210    </entry>
211    <entry>
212      any VRML viewer
213    </entry>
214    <entry>
215      Linux, UNIX, Mac, Windows
216    </entry>
217  </row>
218  <row>
219    <entry>
220      VRML-Network
221    </entry>
222    <entry>
223      any network-enabled VRML viewer
224    </entry>
225    <entry>
226      Linux, UNIX
227    </entry>
228  </row>
229  <row>
230    <entry>
231      RayTracer
232    </entry>
233    <entry>
234      any JPEG viewer
235    </entry>
236    <entry>
237      Linux, UNIX, Mac, Windows
238    </entry>
239  </row>
240  <row>
241    <entry>
242      ASCIITree
243    </entry>
244    <entry>
245      none
246    </entry>
247    <entry>
248      Linux, UNIX, Mac, Windows
249    </entry>
250  </row>
251  <row>
252    <entry>
253      GAGTree
254    </entry>
255    <entry>
256      GAG
257    </entry>
258    <entry>
259      Linux, UNIX, Mac, Windows
260    </entry>
261  </row>
262  <row>
263    <entry>
264      XMLTree
265    </entry>
266    <entry>
267      any XML viewer
268    </entry>
269    <entry>
270      Linux, UNIX, Mac, Windows
271    </entry>
272  </row>
273  </tbody>
274</tgroup>
275</table>
276</para>
277
278</sect2>
279
280
281<!-- ******************* Section (Level#2) ****************** -->
282<sect2 id="sect.VisDrv.OpenGL">
283<title>
284OpenGL
285</title>
286
287<para>
288These drivers have been developed by John Allison and Andrew
289Walkden (University of Manchester). It is an interface to the de
290facto standard 3D graphics library, OpenGL. It is well suited for
291real-time fast visualization and demonstration. Fast visualization
292is realized with hardware acceleration, reuse of shapes stored in a
293display list, etc. NURBS visualization is also supported.
294</para>
295
296<para>
297Several versions of the OpenGL drivers are prepared. Versions
298for Xlib, Motif and Win32 platforms are available by default. For
299each version, there are two modes: immediate mode and stored mode.
300The former has no limitation on data size, and the latter is fast
301for visualizing large data repetitively, and so is suitable for
302animation.
303</para>
304
305<para>
306If you don't have Motif, all control is done from Geant4
307commands:
308
309<?soft-pagebreak ?>
310<informalexample>
311<programlisting>
312     /vis/open OGLIX
313     /vis/viewer/set/viewpointThetaPhi 70 20
314     /vis/viewer/zoom 2
315     etc.
316</programlisting>
317</informalexample>
318</para>
319
320<para>
321But if you have Motif libraries, you can control Geant4 from Motif
322widgets:
323
324<informalexample>
325<programlisting>
326     /vis/open OGLIXm
327</programlisting>
328</informalexample>
329</para>
330
331<para>
332The OpenGL driver added Smooth shading and Transparency since
333Geant4 release 8.0.
334</para>
335
336<para>
337<emphasis role="bold">Further information (OpenGL and Mesa):</emphasis>
338
339<itemizedlist spacing="compact">
340  <listitem><para>
341    <ulink url="http://www.opengl.org/">
342    http://www.opengl.org/
343    </ulink>
344  </para></listitem>
345  <listitem><para>
346    <ulink url="http://www.mesa3d.org">
347    http://www.mesa3d.org
348    </ulink>
349  </para></listitem>
350  <listitem><para>
351    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html">
352    Geant4 Visualization Tutorial
353    </ulink>
354    using the OpenGL Graphics System
355  </para></listitem>
356</itemizedlist>
357</para>
358
359</sect2>
360
361
362<!-- ******************* Section (Level#2) ****************** -->
363<sect2 id="sect.VisDrv.Qt">
364<title>
365Qt
366</title>
367
368<para>
369This driver have been developed by Laurent Garnier (IN2P3, LAL Orsay). 
370It is an interface to the powerful toolkit Qt, now free on lot of 
371platforms. This driver needs OpenGL library to be install. It is well suited for
372real-time fast visualization and demonstration. Fast visualization
373is realized with hardware acceleration, reuse of shapes stored in a
374display list, etc. NURBS visualization is also supported. All OpenGL 
375features are implements in Qt driver . In addition, mouse events control
376are used to rotation/move/zoom volume, you can save your scene in lots
377of formats (vector or not), make movies... 
378</para><para> 
379There is only one session of Qt driver for all available platform. 
380Two display modes are available: immediate mode and stored mode.
381The former has no limitation on data size, and the latter is fast
382for visualizing large data repetitively, and so is suitable for
383animation.
384</para>
385
386<para>
387To see the visualization window :
388</para>
389<?soft-pagebreak ?>
390<informalexample>
391<programlisting>
392     /vis/open OGLSQt
393</programlisting>
394</informalexample>
395</para>
396
397<para>
398<emphasis role="bold">Further information (Qt):</emphasis>
399<itemizedlist spacing="compact">
400  <listitem><para>
401    <ulink url="http://trolltech.com/">
402    Qt
403    </ulink>
404  </para></listitem>
405  <listitem><para>
406    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html">
407    Geant4 Visualization Tutorial
408    </ulink>
409    using the Qt Driver
410  </para></listitem>
411</itemizedlist>
412</sect2>
413
414
415<!-- ******************* Section (Level#2) ****************** -->
416<sect2 id="sect.VisDrv.OpenInv">
417<title>
418OpenInventor
419</title>
420
421<para>
422These drivers were developed by Jeff Kallenbach (FNAL) and Guy
423Barrand (IN2P3) based on the
424<ulink url="http://www-pat.fnal.gov/graphics/HEPVis/www">
425Hepvis class library
426</ulink>
427 originated by Joe Boudreau (Pittsburgh University). The
428OpenInventor drivers and the Hepvis class library are based on the
429well-established OpenInventor technology for scientific
430visualization. They have high extendibility. They support high
431interactivity, e.g., attribute e diting of picked objects. Some
432OpenInventor viewers support "stereoscopic" effects.
433</para>
434
435<para>
436It is also possible to save a visualized 3D scene as an
437OpenInventor-formatted file, and re-visualize the scene
438afterwards.
439</para>
440
441<para>
442Because it is connected directly to the Geant4 kernel, using
443same language as that kernel (C++), OpenInventor systems can have
444direct access to Geant4 data (geometry, trajectories, etc.).
445</para>
446
447<para>
448Because OpenInventor uses OpenGL for rendering, it supports
449lighting and transparency.
450</para>
451
452<para>
453OpenInventor provides thumbwheel control to rotate and zoom.
454</para>
455
456<para>
457OpenInventor supports picking to ask about data. [Control
458Clicking] on a volume turns on rendering of that volume's
459daughters. [Shift Clicking] a daughter turns that rendering off: If
460modeling opaque solid, effect is like opening a box to look
461inside.
462</para>
463
464<para>
465<emphasis role="bold">Further information (HEPVis and OpenScientist):</emphasis>
466
467<itemizedlist spacing="compact">
468  <listitem><para>
469    Geant4 Inventor Visualization with OpenScientist
470    <ulink url="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html">
471    http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html
472    </ulink>
473  </para></listitem>
474  <listitem><para>
475    Overall OpenScientist Home
476    <ulink url="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html">
477    http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html
478    </ulink>
479  </para></listitem>
480  <listitem><para>
481    HEPVis
482    <ulink url="http://www-pat.fnal.gov/graphics/HEPVis/www">
483    http://www-pat.fnal.gov/graphics/HEPVis/www
484    </ulink>
485  </para></listitem>
486</itemizedlist>
487</para>
488
489<para>
490<emphasis role="bold">Further information (OpenInventor):</emphasis>
491
492<itemizedlist spacing="compact">
493  <listitem><para>
494    <ulink url="http://oss.sgi.com/projects/inventor">
495      http://oss.sgi.com/projects/inventor
496    </ulink>
497  </para></listitem>
498  <listitem><para>
499    Josie Wernecke, "The Inventor Mentor", Addison Wesley
500    (ISBN 0-201-62495-8)
501  </para></listitem>
502  <listitem><para>
503    Josie Wernecke, "The Inventor Toolmaker", Addison Wesley
504    (ISBN 0-201-62493-1)
505  </para></listitem>
506  <listitem><para>
507    "The Open Inventor C++ Reference Manual", Addison Wesley
508    (ISBN 0-201-62491-5)
509  </para></listitem>
510</itemizedlist>
511</para>
512
513</sect2>
514
515
516<!-- ******************* Section (Level#2) ****************** -->
517<sect2 id="sect.VisDrv.HepRep">
518<title>
519HepRepFile
520</title>
521
522<para>
523The HepRepFile driver creates a HepRep XML file in the HepRep1
524format suitable for viewing with the
525<ulink url="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
526WIRED3</ulink> HepRep Browser.
527</para>
528
529<para>
530The HepRep graphics format is further described at
531<ulink url="http://www.slac.stanford.edu/~perl/heprep">
532http://www.slac.stanford.edu/~perl/heprep
533</ulink>
534.
535</para>
536
537<para>
538To write just the detector geometry to this file, use the
539command:
540
541<informalexample>
542<programlisting>
543     /vis/viewer/flush
544</programlisting>
545</informalexample>
546</para>
547
548<para>
549Or, to also include trajectories and hits (after the appropriate
550/vis/viewer/add/trajectories or /vis/viewer/add/hits commands),
551just issue:
552
553<informalexample>
554<programlisting>
555     /run/beamOn 1
556</programlisting>
557</informalexample>
558</para>
559
560<para>
561HepRepFile will write a file called G4Data0.heprep to the
562current directory. Each subsequent file will have a file name like
563G4Data1.heprep, G4Data2.heprep, etc.
564</para>
565
566<para>
567View the file using the WIRED3 HepRep Browser, available from:
568</para>
569<para>
570<ulink url="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
571http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/
572</ulink>
573.
574</para>
575
576<para>
577WIRED3 allows you to pick on volumes, trajectories and hits to
578find out their associated HepRep Attributes, such as volume name,
579particle ID, momentum, etc. These same attributes can be displayed
580as labels on the relevant objects, and you can make visibility cuts
581based on these attributes ("show me only the photons", or "omit any
582volumes made of iron").
583</para>
584
585<para>
586WIRED3 can read heprep files in zipped format as well as
587unzipped, so you can save space by applying gzip to the heprep
588file. This will reduce the file to about five percent of its
589original size.
590</para>
591
592<para>
593Several environment variables are available to override some of
594HepRepFile's defaults
595
596<itemizedlist spacing="compact">
597  <listitem><para>
598    You can specify a different directory for the heprep output
599    files by setting the environment variable G4HEPREPFILE_DIR, as in:
600
601    <informalexample>
602    <programlisting>
603     export G4HEPREPFILE_DIR=someOtherDir/someOtherSubDir
604    </programlisting>
605    </informalexample>
606  </para></listitem>
607  <listitem><para>
608    You can specify a different file name (the part before the
609    number) by setting the environment variable G4HEPREPFILE_NAME, as in:
610
611    <informalexample>
612    <programlisting>
613     export G4HEPREPFILE_NAME=myFileName
614    </programlisting>
615    </informalexample>
616
617    which will produce files named myFileName0.heprep,
618    myFileName1.heprep, etc.
619  </para></listitem>
620  <listitem><para>
621    You can specify that each file should overwrite the previous
622    file (always rewriting to the same file name) by setting the
623    environment variable G4HEPREPFILE_OVERWRITE, as in:
624
625    <informalexample>
626    <programlisting>
627     export G4HEPREPFILE_OVERWRITE=1
628    </programlisting>
629    </informalexample>
630
631    This may be useful in some automated applications where you always
632    want to see the latest output file in the same location.
633  </para></listitem>
634</itemizedlist>
635
636<?soft-pagebreak ?>
637<itemizedlist>
638  <listitem><para>
639    Geant4 visualization supports a concept called "culling", by
640    which certain parts of the detector can be made invisible. Since
641    you may want to control visibility from the HepRep browser, turning
642    on visibility of detector parts that had defaulted to be invisible,
643    the HepRepFile driver does not omit these invisible detector parts
644    from the HepRep file. But for very large files, if you know that
645    you will never want to make these parts visible, you can choose to
646    have them left entirely out of the file. Set the environment
647    variable G4HEPREPFILE_CULL, as in:
648
649    <informalexample>
650    <programlisting>
651     export G4HEPREPFILE_CULL=1
652    </programlisting>
653    </informalexample>
654  </para></listitem>
655</itemizedlist>
656</para>
657
658<para>
659<emphasis role="bold">Further information:</emphasis>
660
661<itemizedlist spacing="compact">
662  <listitem><para>
663    WIRED3 Users Home Page:
664    <para>
665    <ulink url="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
666    http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/
667    </ulink>
668    .
669    </para>
670  </para></listitem>
671  <listitem><para>
672    HepRep graphics format:
673    <para>
674    <ulink url="http://www.slac.stanford.edu/~perl/heprep">
675    http://www.slac.stanford.edu/~perl/heprep
676    </ulink>
677    </para>
678  </para></listitem>
679  <listitem><para>
680    Geant4 Visualization Tutorial using the WIRED3 HepRep Browser
681    <para>
682    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html">
683    http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html
684    </ulink>
685    </para>
686  </para></listitem>
687</itemizedlist>
688</para>
689
690</sect2>
691
692
693<!-- ******************* Section (Level#2) ****************** -->
694<sect2 id="sect.VisDrv.HepRepXML">
695<title>
696HepRepXML
697</title>
698
699<para>
700The HepRepXML driver creates a HepRep file in the HepRep2 format
701suitable for viewing with the
702<ulink url="http://wired.freehep.org/index.html">
703WIRED4
704</ulink>
705 Plugin to the JAS3 Analysis System or the
706<ulink url="http://www.fisica.uniud.it/~glast/FRED/">
707FRED
708</ulink>
709 event display.
710</para>
711
712<para>
713This driver can write both Binary HepRep (.bheprep) and XML
714HepRep (.heprep) files. Binary HepRep files are a one-to-one
715translation of XML HepRep files, but they are considerably shorter
716and faster to parse by a HepRepViewer such as WIRED 4.
717</para>
718
719<para>
720Both Binary HepRep and XML HepRep can be compressed using the
721standard zlib library if linked into Geant4 using G4LIB_USE_ZLIB.
722If a standard zlib is not available (WIN32-VC for instance) you
723should also set G4LIB_BUILD_ZLIB to build G4zlib included with
724Geant4.
725</para>
726
727<para>
728HepRep files (Binary and XML) can contain multiple HepRep
729events/geometries. If the file contains more than one HepRep it is
730not strictly XML anymore. Files can be written in .heprep.zip,
731.heprep.gz or .heprep format and their binary versions
732.bheprep.zip, .bheprep.gz or .bheprep.
733</para>
734
735<para>
736The .heprep.zip is the default for file output, the .heprep is
737the default for stdout and stderr.
738</para>
739
740<para>
741(Optional) To set the filename with a particular extension such
742as: .heprep.zip, .heprep.gz, .heprep, .bheprep.zip, .bheprep.gz or
743.bheprep use for instance:
744
745<informalexample>
746<programlisting>
747     /vis/scene/create filename.bheprep.zip
748</programlisting>
749</informalexample>
750</para>
751
752<para>
753(Optional) To create separate files for each event, you can set
754a suffix such as "-0001" to start writing files from
755filename-0001.bheprep.zip to filename-9999.bheprep.zip (or up),
756while "-55-sub" will start write files filename-55-sub.bheprep.zip
757to filename-99-sub.bheprep.zip (or up).
758
759<informalexample>
760<programlisting>
761     /vis/heprep/setEventNumberSuffix -0001
762</programlisting>
763</informalexample>
764</para>
765
766<para>
767(Note: suffix has to contain at least one digit)
768</para>
769
770<para>
771(Optional) To route the HepRep XML output to stdout (or stderr),
772by default uncompressed, use:
773
774<informalexample>
775<programlisting>
776     /vis/scene/create stdout
777</programlisting>
778</informalexample>
779</para>
780
781<para>
782(Optional) To add attributes to each point on a trajectory, use:
783
784<informalexample>
785<programlisting>
786     /vis/heprep/addPointAttributes 1
787</programlisting>
788</informalexample>
789</para>
790
791<para>
792Be aware that this may increase the size of the output
793dramatically.
794</para>
795
796<para>
797(Optional) You may use the commands:
798
799<informalexample>
800<programlisting>
801     /vis/viewer/zoom                            to set an initial zoom factor
802
803     /vis/viewer/set/viewpointThetaPhi           to set an initial view point
804
805     /vis/heprep/setCoordinateSystem uvw         to change the coordinate system, where uvw
806                                                 can be "xyz", "zxy", ...
807</programlisting>
808</informalexample>
809</para>
810
811<para>
812(Optional) You may decide to write .zip files with events and
813geometry separated (but linked). This results in a smaller zip
814file, as the geometry is only written once. Use the command:
815
816<informalexample>
817<programlisting>
818     /vis/heprep/appendGeometry false
819</programlisting>
820</informalexample>
821</para>
822
823<para>
824(Optional) To close the file, remove the SceneHandler, use:
825
826<informalexample>
827<programlisting>
828     /vis/sceneHandler/remove scene-handler-0
829</programlisting>
830</informalexample>
831</para>
832
833<para>
834Limitations: Only one SceneHandler can exist at any time,
835connected to a single Viewer. Since the HepRep format is a model
836rather than a view this is not a real limitation. In WIRED 4 you
837can create as many views (SceneHandlers) as you like.
838</para>
839
840<para>
841<emphasis role="bold">Further information:</emphasis>
842
843<itemizedlist spacing="compact">
844  <listitem><para>
845    <ulink url="http://wired.freehep.org/index.html">
846    WIRED4</ulink> Plugin to the JAS3 Analysis System
847  </para></listitem>
848  <listitem><para>
849    <ulink url="http://www.fisica.uniud.it/~glast/FRED/">
850    FRED</ulink> event display
851  </para></listitem>
852  <listitem><para>
853    HepRep graphics format:
854    <para>
855    <ulink url="http://www.slac.stanford.edu/~perl/heprep">
856    http://www.slac.stanford.edu/~perl/heprep
857    </ulink>
858    </para>
859  </para></listitem>
860</itemizedlist>
861</para>
862
863</sect2>
864
865
866<!-- ******************* Section (Level#2) ****************** -->
867<sect2 id="sect.VisDrv.DAWN">
868<title>
869DAWN
870</title>
871
872<para>
873The DAWN drivers are interfaces to
874<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">
875Fukui Renderer DAWN</ulink>, which has been developed by Satoshi Tanaka,
876Minato Kawaguti et al (Fukui University). It is a vectorized 3D
877PostScript processor, and so well suited to prepare technical high
878quality outputs for presentation and/or documentation. It is also
879useful for precise debugging of detector geometry. Remote
880visualization, off-line re-visualization, cut view, and many other
881useful functions of detector simulation are supported. A DAWN
882process is automatically invoked as a co-process of Geant4 when
883visualization is performed, and 3D data are passed with
884inter-process communication, via a file, or the TCP/IP socket.
885</para>
886
887<para>
888When Geant4 Visualization is performed with the DAWN driver, the
889visualized view is automatically saved to a file named
890<literal>g4.eps</literal> in the current directory, which describes a
891vectorized (Encapsulated) PostScript data of the view.
892</para>
893
894<para>
895There are two kinds of DAWN drivers, the DAWNFILE driver and the
896DAWN-Network driver. The DAWNFILE driver is usually recommended,
897since it is faster and safer in the sense that it is not affected
898by network conditions.
899</para>
900
901<para>
902The DAWNFILE driver sends 3D data to DAWN via an intermediate
903file, named <literal>g4.prim</literal> in the current directory. The file
904<literal>g4.prim</literal> can be re-visualized later without the help of
905Geant4. This is done by invoking DAWN by hand:
906
907<informalexample>
908<programlisting>
909     % dawn g4.prim
910</programlisting>
911</informalexample>
912</para>
913
914<para>
915DAWN files can also serve as input to two additional programs:
916
917<itemizedlist spacing="compact">
918  <listitem><para>
919    A standalone program, DAWNCUT, can perform a planar cut on a
920    DAWN image. DAWNCUT takes as input a .prim file and some cut
921    parameters. Its output is a new .prim file to which the cut has
922    been applied.
923  </para></listitem>
924  <listitem><para>
925    Another standalone program, DAVID, can show you any volume
926    overlap errors in your geometry. DAVID takes as input a .prim file
927    and outputs a new .prim file in which overlapping volumes have been
928    highlighted. The use of DAVID is described in section
929    <xref linkend="sect.Geom.Overlap" /> of this manual.
930  </para></listitem>
931</itemizedlist>
932</para>
933
934<para>
935The DAWN-Network driver is almost the same as the DAWNFILE
936driver except that
937
938<itemizedlist spacing="compact">
939  <listitem><para>
940    3D data are passed to DAWN via the TCP/IP the socket (default)
941    or the named pipe, and that,
942  </para></listitem>
943</itemizedlist>
944</para>
945
946<para>
947If you have not set up network configurations of your host machine,
948set the environment variable <literal>G4DAWN_NAMED_PIPE</literal> to "1",
949e.g., <literal>% setenv G4DAWN_NAMED_PIPE 1</literal>. This setting switches
950the default socket connection to the named-pipe connection within
951the same host machine. The DAWN-Network driver also saves the 3D
952data to the file <literal>g4.prim</literal> in the current directory.
953</para>
954
955</sect2>
956
957
958<!-- ******************* Section (Level#2) ****************** -->
959<sect2 id="sect.VisDrv.RemDAWN">
960<title>
961Remote Visualization with the DAWN-Network Driver
962</title>
963
964<para>
965Visualization in Geant4 is considered to be "remote" when it is
966performed on a machine other than the Geant4 host. Some of the
967visualization drivers support this feature.
968</para>
969
970<para>
971Usually, the visualization host is your local host, while the
972Geant4 host is a remote host where you log in, for example, with
973the <literal>telnet</literal> command. This enables distributed
974processing of Geant4 visualization, avoiding the transfer of large
975amounts of visualization data to your terminal display via the
976network. This section describes how to perform remote Geant4
977visualization with the DAWN-Network driver. In order to do it,
978you must install the Fukui Renderer DAWN on your local host
979beforehand.
980</para>
981
982<para>
983The following steps realize remote Geant4 visualization viewed
984by DAWN.
985
986<orderedlist spacing="compact">
987  <listitem><para>
988    Invoke DAWN with "-G" option on your local host:
989
990    <informalexample>
991    <programlisting>
992       Local_Host&gt; dawn -G
993    </programlisting>
994    </informalexample>
995
996    This invokes DAWN with the network connection mode.
997  </para></listitem>
998  <listitem><para>
999    Login to the remote host where a Geant4 executable is placed.
1000  </para></listitem>
1001  <listitem><para>
1002    Set an environment variable on the remote host as follows:
1003
1004    <informalexample>
1005    <programlisting>
1006       Remote_Host&gt; setenv G4DAWN_HOST_NAME local_host_name
1007    </programlisting>
1008    </informalexample>
1009
1010    For example, if you are working in the local host named
1011    "arkoop.kek.jp", set this environment variable as follows:
1012
1013    <informalexample>
1014    <programlisting>
1015       Remote_Host&gt; setenv G4DAWN_HOST_NAME arkoop.kek.jp
1016    </programlisting>
1017    </informalexample>
1018
1019    This tells a Geant4 process running on the remote host where Geant4
1020    Visualization should be performed, i.e., where the visualized views
1021    should be displayed.
1022  </para></listitem>
1023  <listitem><para>
1024    Invoke a Geant4 process and perform visualization with the
1025    DAWN-Network driver. For example:
1026
1027    <informalexample>
1028    <programlisting>
1029       Idle&gt; /vis/open DAWN
1030       Idle&gt; /vis/drawVolume
1031       Idle&gt; /vis/viewer/flush
1032    </programlisting>
1033    </informalexample>     
1034  </para></listitem>
1035</orderedlist>
1036</para>
1037
1038<para>
1039In step 4, 3D scene data are sent from the remote host to the
1040local host as
1041<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">
1042DAWN-formatted data</ulink>, and the local DAWN will visualize the data. The
1043transferred data are saved as a file named <literal>g4.prim</literal> in the
1044current directory of the local host.
1045</para>
1046
1047<para>
1048<emphasis role="bold">Further information:</emphasis>
1049
1050<itemizedlist spacing="compact">
1051  <listitem><para>
1052    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">
1053    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html
1054    </ulink>
1055  </para></listitem>
1056  <listitem><para>
1057    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">
1058    http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/
1059    </ulink>
1060  </para></listitem>
1061</itemizedlist>
1062</para>
1063
1064<para>
1065<emphasis role="bold">Further information:</emphasis>
1066
1067<itemizedlist spacing="compact">
1068  <listitem><para>
1069    Fukui Renderer DAWN:
1070    <para>
1071    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">
1072    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html
1073    </ulink>
1074    </para>
1075  </para></listitem>
1076  <listitem><para>
1077    The DAWNFILE driver:
1078    <para>
1079    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html">
1080    http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html
1081    </ulink>
1082    </para>
1083  </para></listitem>
1084  <listitem><para>
1085    The DAWN-Network driver:
1086    <para>
1087    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html">
1088    http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html
1089    </ulink>
1090    </para>
1091  </para></listitem>
1092  <listitem><para>
1093    Environmental variables to customize DAWN and DAWN drivers:
1094    <para>
1095    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html">
1096    http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html
1097    </ulink>
1098    </para>
1099    <para>
1100    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html">
1101    http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html
1102    </ulink>
1103    </para>
1104  </para></listitem>
1105  <listitem><para>
1106    DAWN format (g4.prim format) manual:
1107    <para>
1108    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">
1109    http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/
1110    </ulink>
1111    </para>
1112  </para></listitem>
1113  <listitem><para>
1114    Geant4 Fukui University Group Home Page:
1115    <para>
1116    <ulink url="http://geant4.kek.jp/GEANT4/vis/">
1117    http://geant4.kek.jp/GEANT4/vis/
1118    </ulink>
1119    </para>
1120  </para></listitem>
1121  <listitem><para>
1122    DAWNCUT:
1123    <para>
1124    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html">
1125    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html
1126    </ulink>
1127    </para>
1128  </para></listitem>
1129  <listitem><para>
1130   DAVID:
1131   <para>
1132   <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html">
1133   http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html
1134   </ulink>
1135   </para> 
1136  </para></listitem>
1137  <listitem><para>
1138    Geant4 Visualization Tutorial using the DAWN Renderer:
1139    <para>
1140    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html">
1141    http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html
1142    </ulink>
1143    </para>
1144  </para></listitem>
1145</itemizedlist>
1146</para>
1147
1148</sect2>
1149
1150
1151<!-- ******************* Section (Level#2) ****************** -->
1152<sect2 id="sect.VisDrv.VRML">
1153<title>
1154VRML
1155</title>
1156
1157<para>
1158These drivers were developed by Satoshi Tanaka and Yasuhide Sawada
1159(Fukui University). They generate VRML files, which describe 3D
1160scenes to be visualized with a proper VRML viewer, at either a
1161local or a remote host. It realizes virtual-reality visualization
1162with your WWW browser. There are many excellent VRML viewers, which
1163enable one to perform interactive spinning of detectors, walking
1164and/or flying inside detectors or particle showers, interactive
1165investigation of detailed detector geometry etc.
1166</para>
1167
1168<para>
1169There are two kinds of VRML drivers: the VRMLFILE driver, and
1170the VRML-Network driver. The VRMLFILE driver is usually
1171recommended, since it is faster and safer in the sense that it is
1172not affected by network conditions.
1173</para>
1174
1175<para>
1176The VRMLFILE driver sends 3D data to your VRML viewer, which is
1177running on the same host machine as Geant4, via an intermediate
1178file named <literal>g4.wrl</literal> created in the current directory. This
1179file can be re-visualization afterwards. In visualization, the name
1180of the VRML viewer should be specified by setting the environment
1181variable <literal>G4VRML_VIEWER</literal> beforehand. For example,
1182
1183<informalexample>
1184<programlisting>
1185     % setenv G4VRML_VIEWER  "netscape"
1186</programlisting>
1187</informalexample>
1188</para>
1189
1190<para>
1191Its default value is <literal>NONE</literal>, which means that no viewer
1192is invoked and only the file <literal>g4.wrl</literal> is generated.
1193</para>
1194
1195
1196<!-- ******* Bridgehead ******* -->
1197<bridgehead renderas='sect4'>
1198Remote Visualization with the VRML-Network Driver
1199</bridgehead>
1200
1201<para>
1202Visualization in Geant4 is considered to be "remote" when it is
1203performed on a machine other than the Geant4 host. Some of the
1204visualization drivers support this feature.
1205</para>
1206
1207<para>
1208Usually, the visualization host is your local host, while the
1209Geant4 host is a remote host where you log in, for example, with
1210the <literal>telnet</literal> command. This enables distributed processing of
1211Geant4 visualization, avoiding the transfer of large amounts of
1212visualization data to your terminal display via the network.
1213</para>
1214
1215<para>
1216In order to perform remote visualization with the VRML-Network
1217driver, the following must be installed on your local host
1218beforehand:
1219
1220<orderedlist spacing="compact">
1221  <listitem><para>
1222    a VRML viewer
1223  </para></listitem>
1224  <listitem><para>
1225    the Java application <literal>g4vrmlview</literal>.
1226  </para></listitem>
1227</orderedlist>
1228</para>
1229
1230<para>
1231The Java application <literal>g4vrmlview</literal> is included as part of the
1232Geant4 package and is located at:
1233
1234<informalexample>
1235<programlisting>
1236     source/visualization/VRML/g4vrmlview/
1237</programlisting>
1238</informalexample>
1239</para>
1240
1241<para>
1242Installation instructions for <literal>g4vrmlview</literal> can be found in
1243the <literal>README</literal> file there, or on the WWW page below.
1244</para>
1245
1246<para>
1247The following steps realize remote Geant4 visualization
1248displayed with your local VRML browser:
1249
1250<orderedlist spacing="compact">
1251  <listitem><para>
1252    Invoke the <literal>g4vrmlview</literal> on your local host, giving a
1253    VRML viewer name as its argument:
1254
1255    <informalexample>
1256<programlisting>
1257       Local_Host&gt; java g4vrmlview  VRML_viewer_name
1258    </programlisting>
1259</informalexample>
1260
1261    For example, if you want to use the Netscape browser as your VRML
1262    viewer, execute <literal>g4vrmlview</literal> as follows:
1263
1264    <informalexample>
1265    <programlisting>
1266       Local_Host&gt; java g4vrmlview  netscape
1267    </programlisting>
1268    </informalexample>
1269
1270    Of course, the command path to the VRML viewer should be properly set.
1271  </para></listitem>
1272  <listitem><para>
1273    Log in to the remote host where a Geant4 executable is placed.
1274  </para></listitem>
1275  <listitem><para>
1276    Set an environment variable on the remote host as follows:
1277
1278    <informalexample>
1279    <programlisting>
1280       Remote_Host&gt; setenv G4VRML_HOST_NAME local_host_name
1281    </programlisting>
1282    </informalexample>
1283
1284    For example, if you are working on the local host named
1285    "arkoop.kek.jp", set this environment variable as follows:
1286
1287    <informalexample>
1288    <programlisting>
1289       Remote_Host&gt; setenv G4VRML_HOST_NAME arkoop.kek.jp
1290    </programlisting>
1291    </informalexample>
1292
1293    This tells a Geant4 process running on the remote host where Geant4
1294    Visualization should be performed, i.e., where the visualized views
1295    should be displayed.
1296  </para></listitem>
1297  <listitem><para>
1298    Invoke a Geant4 process and perform visualization with the
1299    VRML-Network driver. For example:
1300
1301    <informalexample>
1302    <programlisting>
1303       Idle&gt; /vis/open VRML2
1304       Idle&gt; /vis/drawVolume
1305       Idle&gt; /vis/viewer/update
1306    </programlisting>
1307    </informalexample>       
1308  </para></listitem>
1309</orderedlist>
1310</para>
1311
1312<para>
1313In step 4, 3D scene data are sent from the remote host to the
1314local host as VRML-formatted data, and the VRML viewer specified in
1315step 3 is invoked by the <literal>g4vrmlview</literal> process to visualize
1316the VRML data. The transferred VRML data are saved as a file named
1317<literal>g4.wrl</literal> in the current directory of the local host.
1318</para>
1319
1320<para>
1321<emphasis role="bold">Further information:</emphasis>
1322
1323<?soft-pagebreak ?>
1324<itemizedlist spacing="compact">
1325  <listitem><para>
1326    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html">
1327    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html
1328    </ulink>
1329  </para></listitem>
1330</itemizedlist>
1331</para>
1332
1333<para>
1334<emphasis role="bold">Further information (VRML drivers):</emphasis>
1335
1336<?soft-pagebreak ?>
1337<itemizedlist spacing="compact">
1338  <listitem><para>
1339    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html">
1340    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html
1341    </ulink>
1342  </para></listitem>
1343  <listitem><para>
1344    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html">
1345    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html
1346    </ulink>
1347  </para></listitem>
1348</itemizedlist>
1349</para>
1350
1351<para>
1352<emphasis role="bold">Sample VRML files:</emphasis>
1353
1354<?soft-pagebreak ?>
1355<itemizedlist spacing="compact">
1356  <listitem><para>
1357    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/">
1358    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/
1359    </ulink>
1360  </para></listitem>
1361</itemizedlist>
1362</para>
1363
1364<para>
1365<emphasis role="bold">Further information (VRML language and browsers):</emphasis>
1366
1367<itemizedlist spacing="compact">
1368  <listitem><para>
1369    <ulink url="http://www.vrmlsite.com/">http://www.vrmlsite.com/
1370    </ulink>
1371  </para></listitem>
1372</itemizedlist>
1373</para>
1374
1375</sect2>
1376
1377
1378<!-- ******************* Section (Level#2) ****************** -->
1379<sect2 id="sect.VisDrv.RayTrc">
1380<title>
1381RayTracer
1382</title>
1383
1384<para>
1385This driver was developed by Makoto Asai and Minamimoto (Hirosihma
1386Instutute of Technology). It performs ray-tracing visualization
1387using the tracking routines of Geant4. It is, therefore, available
1388for every kinds of shapes/solids which Geant4 can handle. It is
1389also utilized for debugging the user's geometry for the tracking
1390routines of Geant4. It is well suited for photo-realistic high
1391quality output for presentation, and for intuitive debugging of
1392detector geometry. It produces a JPEG file. This driver is by
1393default listed in the available visualization drivers of user's
1394application.
1395</para>
1396
1397<para>
1398Some pieces of geometries may fail to show up in other
1399visualization drivers (due to algorithms those drivers use to
1400compute visualizable shapes and polygons), but RayTracer can handle
1401any geometry that the Geant4 navigator can handle.
1402</para>
1403
1404<para>
1405Because RayTracer in essence takes over Geant4's tracking
1406routines for its own use, RayTracer cannot be used to visualize
1407Trajectories or hits.
1408</para>
1409
1410<para>
1411An X-Window version, called RayTracerX, can be selected by
1412setting <literal>G4VIS_BUILD_RATRACERX_DRIVER</literal> at Geant4 library
1413build time and <literal>G4VIS_USE_RAYTRACERX</literal> at application (user
1414code) build time (assuming you use the standard visualization
1415manager, <literal>G4VisExecutive</literal>, or an equally smart vis manager).
1416RayTracerX builds the same jpeg file as RayTracer, but
1417simultaneously renders to screen so you can watch as rendering
1418grows progressively smoother.
1419</para>
1420
1421<para>
1422RayTracer has its own built-in commands -
1423<literal>/vis/rayTracer/</literal>.... Alternatively, you can treat it as a
1424normal vis system and use <literal>/vis/viewer/</literal>... commands,
1425e.g:
1426
1427<informalexample>
1428<programlisting>
1429  /vis/open RayTracerX
1430  /vis/drawVolume
1431  /vis/viewer/set/viewpointThetaPhi 30 30
1432  /vis/viewer/refresh
1433</programlisting>
1434</informalexample>
1435</para>
1436
1437<para>
1438The view parameters are translated into the necessary RayTracer
1439parameters.
1440</para>
1441
1442<para>
1443RayTracer is compute intensive. If you are unsure of a good
1444viewing angle or zoom factor, you might be advised to choose them
1445with a faster renderer, such as OpenGL, and transfer the view
1446parameters with <literal>/vis/viewer/set/all</literal>:
1447
1448<informalexample>
1449<programlisting>
1450  /vis/open OGLSXm  # or any of the OGL options.  Opens, say, viewer-0.
1451  /vis/drawVolume
1452  /vis/viewer/zoom  # plus any /vis/viewer/commands that get you the view you want.
1453  /vis/open RayTracerX
1454  /vis/viewer/set/all viewer-0
1455  /vis/viewer/refresh
1456</programlisting>
1457</informalexample>
1458</para>
1459
1460</sect2>
1461
1462
1463<!-- ******************* Section (Level#2) ****************** -->
1464<sect2 id="sect.VisDrv.DetTree">
1465<title>
1466Visualization of detector geometry tree
1467</title>
1468
1469<para>
1470ASCIITREE is a visualization driver that is not actually graphical
1471but that dumps the volume hierarchy as a simple text tree.
1472</para>
1473
1474<para>
1475Each call to /vis/viewer/flush or /vis/drawTree will dump the
1476tree.
1477</para>
1478
1479<para>
1480ASCIITree has command to control its verbosity,
1481<literal>/vis/ASCIITree/verbose</literal>. The verbosity value controls the
1482amount of information available, e.g., physical volume name alone,
1483or also logical volume and solid names. If the volume is
1484"sensitive" and/or has a "readout geometry", this may also be
1485indicated. Also, the mass of the physical volume tree(s) can be
1486printed (but beware - higher verbosity levels can be
1487computationally intensive).
1488</para>
1489
1490<para>
1491At verbosity level 4, ASCIITree calculates the mass of the
1492complete geometry tree taking into account daughters up to the
1493depth specified for each physical volume. The calculation involves
1494subtracting the mass of that part of the mother that is occupied by
1495each daughter and then adding the mass of the daughter, and so on
1496down the hierarchy.
1497
1498<informalexample>
1499<programlisting>
1500     /vis/ASCIITree/Verbose 4
1501     /vis/viewer/flush
1502     "HadCalorimeterPhysical":0 / "HadCalorimeterLogical" / "HadCalorimeterBox"(G4Box),
1503                                  1.8 m3 , 11.35 g/cm3
1504     "HadCalColumnPhysical":-1 (10 replicas) / "HadCalColumnLogical" / "HadCalColumnBox"(G4Box),
1505                                               180000 cm3, 11.35 g/cm3
1506     "HadCalCellPhysical":-1 (2 replicas) / "HadCalCellLogical" / "HadCalCellBox"(G4Box),
1507                                            90000 cm3, 11.35 g/cm3
1508     "HadCalLayerPhysical":-1 (20 replicas) / "HadCalLayerLogical" / "HadCalLayerBox"(G4Box),
1509                                              4500 cm3, 11.35 g/cm3
1510     "HadCalScintiPhysical":0 / "HadCalScintiLogical" / "HadCalScintiBox"(G4Box),
1511                                900 cm3, 1.032 g/cm3
1512     
1513     Calculating mass(es)...
1514     Overall volume of "worldPhysical":0, is 2400 m3
1515     Mass of tree to unlimited depth is 22260.5 kg
1516</programlisting>
1517</informalexample>
1518</para>
1519
1520<para>
1521Some more examples of ASCIITree in action:
1522
1523<informalexample>
1524<programlisting>
1525     Idle&gt; /vis/ASCIITree/verbose 1
1526     Idle&gt; /vis/drawTree
1527     #  Set verbosity with "/vis/ASCIITree/verbose
1528     #    &lt;  10: - does not print daughters of repeated placements, does not repeat replicas.
1529     #    &gt;= 10: prints all physical volumes.
1530     #  The level of detail is given by verbosity%10:
1531     #  for each volume:
1532     #    &gt;=  0: physical volume name.
1533     #    &gt;=  1: logical volume name (and names of sensitive detector and readout geometry, if any).
1534     #    &gt;=  2: solid name and type.
1535     #    &gt;=  3: volume and density.
1536     #    &gt;=  5: daughter-subtracted volume and mass.
1537     #  and in the summary at the end of printing:
1538     #    &gt;=  4: daughter-included mass of top physical volume(s) in scene to depth specified.
1539     .....
1540     "Calorimeter", copy no. 0, belongs to logical volume "Calorimeter"
1541       "Layer", copy no. -1, belongs to logical volume "Layer" (10 replicas)
1542         "Absorber", copy no. 0, belongs to logical volume "Absorber"
1543           "Gap", copy no. 0, belongs to logical volume "Gap"
1544     .....
1545     Idle&gt; /vis/ASCIITree/verbose 15
1546     Idle&gt; /vis/drawTree
1547     ....
1548      "tube_phys":0 / "tube_L" / "tube"(G4Tubs), 395841 cm3, 1.782 mg/cm3,
1549                                9.6539e-08 mm3, 1.72032e-10 mg
1550        "divided_tube_phys":0 / "divided_tube_L" / "divided_tube"(G4Tubs), 65973.4 cm3,
1551                                1.782 mg/cm3, 7587.54 cm3, 13.521 g
1552          "divided_tube_inset_phys":0 / "divided_tube_inset_L" / "divided_tube_inset"(G4Tubs),
1553                                        58385.9 cm3, 1.782 mg/cm3, 6.03369e-09 mm3, 1.0752e-11 mg
1554            "sub_divided_tube_phys":0 / "sub_divided_tube_L" / "sub_divided_tube"(G4Tubs),
1555                                        14596.5 cm3, 1.782 mg/cm3, 12196.5 cm3, 21.7341 g
1556     .....
1557     Calculating mass(es)...
1558     Overall volume of "expHall_P":0, is 8000 m3  and the daughter-included mass to unlimited depth
1559                                      is 78414 kg
1560     .....
1561</programlisting>
1562</informalexample>
1563</para>
1564
1565<para>
1566For the complete list of commands and options, see the
1567<ulink url="./AllResources/Control/UIcommands/_vis_.html">
1568Control...UICommands</ulink>  section of this user guide.
1569</para>
1570
1571</sect2>
1572
1573
1574<!-- ******************* Section (Level#2) ****************** -->
1575<sect2 id="sect.VisDrv.GAGTree">
1576<title>
1577GAG Tree
1578</title>
1579
1580<para>
1581The GAGTree driver provides a listing of the detector geometry tree
1582within GAG, the Geant Adaptive GUI, (
1583<ulink url="http://erpc1.naruto-u.ac.jp/~geant4">
1584http://erpc1.naruto-u.ac.jp/~geant4
1585</ulink>
1586). GAG allows "folding/un-folding" a part of the geometry tree, using
1587the <emphasis>Tree Widget</emphasis> in Java:
1588
1589<informalfigure id="fig.VisDrv_1">
1590<mediaobject>
1591  <imageobject role="fo">
1592    <imagedata fileref="./AllResources/Visualization/visualization.src/gagtree.jpg" 
1593               format="JPG" contentwidth="12.0cm" align="center" />
1594  </imageobject>
1595  <imageobject role="html">
1596    <imagedata fileref="./AllResources/Visualization/visualization.src/gagtree.jpg"
1597               format="JPG" align="center" />
1598  </imageobject>
1599</mediaobject>
1600</informalfigure>
1601</para>
1602
1603</sect2>
1604
1605
1606<!-- ******************* Section (Level#2) ****************** -->
1607<sect2 id="sect.VisDrv.XMLTree">
1608<title>
1609XML Tree
1610</title>
1611
1612<para>
1613The XML description of the geometry tree can be created in Geant4
1614by the XML Tree driver. The XML source can also be edited on the
1615fly. The created XML files are visualizable with any XML browser
1616(in Windows, a good XML viewer is <emphasis>XML Notepad</emphasis>).
1617
1618<itemizedlist spacing="compact">
1619  <listitem><para>
1620    Folding and un-folding:
1621
1622    <informalfigure id="fig.VisDrv_2">
1623    <mediaobject>
1624      <imageobject role="fo">
1625        <imagedata fileref="./AllResources/Visualization/visualization.src/xmlnp.gif" 
1626                   format="JPG" contentwidth="12.0cm" align="center" />
1627      </imageobject>
1628      <imageobject role="html">
1629        <imagedata fileref="./AllResources/Visualization/visualization.src/xmlnp.gif"
1630                   format="JPG" align="center" />
1631        </imageobject>
1632    </mediaobject>
1633    </informalfigure>
1634  </para></listitem>
1635</itemizedlist>
1636
1637<?soft-pagebreak ?>
1638<itemizedlist>
1639  <listitem><para>
1640    Searching a string:
1641
1642    <informalfigure id="fig.VisDrv_3">
1643    <mediaobject>
1644      <imageobject role="fo">
1645        <imagedata fileref="./AllResources/Visualization/visualization.src/xmlnpfind.gif" 
1646                   format="JPG" contentwidth="12.0cm" align="center" />
1647      </imageobject>
1648      <imageobject role="html">
1649        <imagedata fileref="./AllResources/Visualization/visualization.src/xmlnpfind.gif"
1650                   format="JPG" align="center" />
1651      </imageobject>
1652    </mediaobject>
1653    </informalfigure>
1654  </para></listitem>
1655</itemizedlist>
1656</para>
1657
1658
1659</sect2>
1660</sect1>
Note: See TracBrowser for help on using the repository browser.