source: trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomG3toG4.html

Last change on this file was 1208, checked in by garnier, 15 years ago

CVS update

File size: 5.1 KB
Line 
1<html>
2<head>
3<title>ADG: Geometry</title>
4</head>
5
6<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
7<!-- $Id: geomG3toG4.html,v 1.2 2006/06/09 13:59:44 gcosmo Exp $ -->
8<!-- $Name:  $ -->
9<body>
10<table WIDTH="100%"><TR>
11<td>
12<a href="../../../../Overview/html/index.html">
13<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
14<a href="geometry.html">
15<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
16<a href="geomEditor.html">
17<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
18<a href="geomOverlap.html">
19<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
20</td>
21<td ALIGN="Right">
22<font SIZE="-1" COLOR="#238E23">
23<b>Geant4 User's Guide</b>
24<br>
25<b>For Application Developers</b>
26<br>
27<b>Geometry</b>
28</font>
29</td>
30</tr></table>
31<br><br>
32
33<a name="4.1.10">
34<h2>4.1.10 Converting Geometries from Geant 3.21</h2></a>
35
36<b>Approach</b>
37<p>
38 <b>G3toG4</b> is the Geant4 facility to convert GEANT 3.21 geometries into
39 Geant4. This is done in two stages:
40 <ol>
41 <li>The user supplies a GEANT 3.21 RZ-file (.rz) containing the initialization
42     data structures. An executable <tt>rztog4</tt> reads this file and
43     produces an ASCII <i>call list</i> file containing instructions on how to
44     build the geometry. The source code of <tt>rztog4</tt> is FORTRAN.</li>
45 <li>A call list interpreter (<tt>G4BuildGeom.cc</tt>) reads these instructions
46     and builds the geometry in the user's client code for Geant4.</li>
47 </ol>
48</p>
49
50<B>Importing converted geometries into Geant4</B>
51<P>
52 Two examples of how to use the call list interpreter are supplied in
53 the directory <tt>examples/extended/g3tog4</tt>:
54 <ol>
55 <li><tt>cltog4</tt> is a simple example which simply invokes the
56     call list interpreter method <tt>G4BuildGeom</tt> from the
57     <tt>G3toG4DetectorConstruction</tt> class, builds the geometry and
58     exits.</li>
59 <li><tt>clGeometry</tt>, is more complete and is patterned as for
60      the novice Geant4 examples. It also invokes the call list interpreter,
61      but in addition, allows the geometry to be visualized and particles to be
62      tracked.</li>
63 </ol>
64To compile and build the G3toG4 libraries, you need to have set in your
65environment the variable <tt>G4LIB_BUILD_G3TOG4</tt> at the time of
66installation.  The G3toG4 libraries are not built by default. Then, simply type
67 
68<pre>
69  gmake
70</pre>
71 
72 from the top-level <tt>source/g3tog4</tt> directory.
73<P>
74 To build the converter executable <tt>rztog4</tt>, simply type
75 
76<pre>
77  gmake bin
78</pre>
79 
80 To make everything, simply type:
81 
82<pre>
83  gmake global
84</pre>
85 
86 To remove all <tt>G3toG4</tt> libraries, executables and .d files, simply type
87 
88<pre>
89  gmake clean
90</pre>
91 
92<B>Current Status</B>
93<P>
94 The package has been tested with the geometries from experiments like:
95 BaBar, CMS, Atlas, Alice, Zeus, L3, and Opal.<BR>
96 Here is a comprehensive list of features supported and not supported or
97 implemented in the current version of the package:
98 <UL>
99 <li>Supported shapes:
100     all GEANT 3.21 shapes except for <tt>GTRA</tt>, <tt>CTUB</tt>.</li>
101 <li><tt>PGON</tt>, <tt>PCON</tt> are built using the <i>specific</i> solids
102     <tt>G4Polycone</tt> and <tt>G4Polyhedra</tt>.</li>
103 <li>GEANT 3.21 <tt>MANY</tt> feature is only partially supported.<BR>
104     <tt>MANY</tt> positions are resolved in the <tt>G3toG4MANY()</tt> 
105     function, which has to be processed before <tt>G3toG4BuildTree()</tt> 
106     (it is not called by default).<br>
107     In order to resolve <tt>MANY</tt>, the user code has to provide
108     additional info using <tt>G4gsbool(G4String volName,
109     G4String manyVolName)</tt> function for all the overlapping volumes.
110     Daughters of overlapping volumes are then resolved automatically and
111     should not be specified via <tt>Gsbool</tt>.<BR>
112     <B>Limitation</B>: a volume with a <tt>MANY</tt> position can have only
113     this one position; if more than one position is needed a new volume has
114     to be defined (<tt>gsvolu()</tt>) for each position.
115 </li>
116 <li><tt>GSDV*</tt> routines for dividing volumes are implemented, using
117     <tt>G4PVReplica</tt>s, for shapes:</li>
118     <UL>
119     <li><tt>BOX</tt>, <tt>TUBE</tt>, <tt>TUBS</tt>, <tt>PARA</tt> - all axes;
120         </li>
121     <li><tt>CONE</tt>, <tt>CONS</tt> - axes 2, 3;</li>
122     <li><tt>TRD1</tt>, <tt>TRD2</tt>, <tt>TRAP</tt> - axis 3;</li>
123     <li><tt>PGON</tt>, <tt>PCON</tt> - axis 2;</li>
124     <li><tt>PARA</tt> -axis 1; axis 2,3 for a special case</li>
125     </UL>
126 <li><tt>GSPOSP</tt> is implemented via individual logical volumes for each
127     instantiation.</li>
128 <li><tt>GSROTM</tt> is implemented. Reflections of hierachies based on plain
129     CSG solids are implemented through the <tt>G3Division</tt> class.
130 <li>Hits are not implemented.
131 <li>Conversion of GEANT 3.21 magnetic field is currently not supported.
132     However, the usage of magnetic field has to be turned on.
133 </UL>
134
135<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
136<i>About the authors</a></i> </P>
137
138</body>
139</html>
Note: See TracBrowser for help on using the repository browser.