source: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomEditor.xml @ 1208

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

CVS update

File size: 9.1 KB
Line 
1<!-- ******************************************************** -->
2<!--                                                          -->
3<!--  [History]                                               -->
4<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
5<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
6<!--                                                          -->
7<!-- ******************************************************** -->
8
9
10<!-- ******************* Section (Level#2) ****************** -->
11<sect2 id="sect.Geom.Edit">
12<title>
13A Simple Geometry Editor
14</title>
15
16<para>
17GGE is the acronym for Geant4 Graphical Geometry Editor.  GGE aims to assist
18physicists who have a little knowledge on C++ and the Geant4
19toolkit to construct his or her own detector geometry. In essence, GGE is made up of
20a set of tables which can contain all relevant parameters to construct
21a simple detector geometry. Tables for scratch or compound materials, tables for logical
22and physical volumes are provided. From the values in the tables, C++ source codes are automatically
23generated.
24</para>
25
26<para>
27GGE provides methods to:
28
29<orderedlist spacing="compact">
30  <listitem><para>
31    construct a detector geometry including <literal>G4Element</literal>,
32    <literal>G4Material</literal>, <literal>G4Solids</literal>,
33    <literal>G4LogicalVolume</literal>,
34    <literal>G4PVPlacement</literal>, etc.
35  </para></listitem>
36  <listitem><para>
37    view the detector geometry using existing visualization system, DAWN
38  </para></listitem>
39  <listitem><para>
40    keep the detector object in a persistent way, either in GDML format (currently only logical volumes are supported) or Java serialized format.
41  </para></listitem>
42  <listitem><para>
43    produce corresponding C++ codes after the norm of Geant4 toolkit
44  </para></listitem>
45  <listitem><para>
46    make a Geant4 executable, in collaboration with another component of MOMO, i.e., GPE, or Geant4 Physics Editor.
47  </para></listitem>
48</orderedlist>
49</para>
50
51<para>
52GGE can be found in the standard
53Geant4 distribution under the <literal>$G4INSTALL/environments/MOMO/MOMO.jar</literal>.
54JRE (Java Run-time Environment) is prerequisite to run MOMO.jar, Java archive file of MOMO.
55MOMO contains GGE, GPE, GAG and other helper tools. Further information is available from the
56Web pages below.
57</para>
58<para>
59MOMO = GGE + GPE + GAG:
60<ulink url="http://www-geant4.kek.jp/~yoshidah">
61http://www-geant4.kek.jp/~yoshidah
62</ulink>
63</para>
64
65<!-- ******************* Section (Level#3) ****************** -->
66<sect3 id="sect.Geom.Edit.Mate">
67<title>
68Materials: elements and mixtures
69</title>
70
71<para>
72GGE provides the database of elements in the form of the periodic
73table, from which users can select element(s) to construct new materials.
74They can be loaded, used, edited and saved as Java persistent
75objects or in a GDML file. In <literal>$G4INSTALL/enviroments/MOMO</literal>,
76a pre-constructed database of materials taken from the PDG book, <literal>PDG.xml</literal>
77is present.
78</para>
79
80<para>
81Users can also create new materials either from scratch or by
82combining other materials.
83
84<itemizedlist spacing="compact">
85  <listitem><para>
86    By selecting an element in the periodic table, default values as shown below are copied to a row in the table.
87    <para>
88    <informaltable>
89    <tgroup cols="11">
90    <tbody>
91    <row>
92      <entry>Use</entry>
93      <entry>Name</entry>
94      <entry>A</entry>
95      <entry>Z</entry>
96      <entry>Density</entry>
97      <entry>Unit</entry>
98      <entry>State</entry>
99      <entry>Temperature</entry>
100      <entry>Unit</entry>
101      <entry>Pressure</entry>
102      <entry>Unit</entry>
103    </row>
104    </tbody>
105    </tgroup>
106    </informaltable>
107    </para>
108    <para>
109    <emphasis role="bold">Use</emphasis> marks the used materials.
110        Only the elements and materials used in the logical volumes are
111    kept in the detector object and are used to generate C++
112    constructors.
113    </para>
114  </para></listitem>
115  <listitem><para>
116    By selecting multiple elements in the periodic table, a material from a combination of
117    elements is assigned to a row of the compound material table. The minimum actions user
118    have to do is to give a name to the
119    material and define its density.
120    <para>
121    <informaltable>
122    <tgroup cols="9">
123    <tbody>
124    <row>
125      <entry>Use</entry>
126      <entry>Name</entry>
127      <entry>Elements</entry>
128      <entry>Density</entry>
129      <entry>Unit</entry>
130      <entry>State</entry>
131      <entry>Temperature</entry>
132      <entry>Unit</entry>
133      <entry>Pressure</entry>
134      <entry>Unit</entry>
135    </row>
136    </tbody>
137    </tgroup>
138    </informaltable>
139    </para>
140
141    <para>
142    By clicking the column <emphasis role="bold">Elements</emphasis>, a new
143    window is open to select one of two methods:
144
145    <itemizedlist spacing="compact">
146      <listitem><para>
147        Add an element, giving its fraction by weight
148      </para></listitem>
149      <listitem><para>
150        Add an element, giving its number of atoms.
151      </para></listitem>
152    </itemizedlist>
153    </para>
154  </para></listitem>
155</itemizedlist>
156</para>
157
158</sect3>
159
160<!-- ******************* Section (Level#3) ****************** -->
161<sect3 id="sect.Geom.Edit.Solids">
162<title>
163Solids
164</title>
165
166<para>
167The most popular CSG solids (<literal>G4Box</literal>, <literal>G4Tubs</literal>,
168<literal>G4Cons</literal>, <literal>G4Trd</literal>) and specific BREPs solids
169(Pcons, Pgons) are supported. All relevant parameters of such a
170solid can be specified in the parameter table, which pops up upon selection.
171</para>
172
173<para>
174Color, or the visualization attribute of a logical volume can be created,
175using color chooser panel.
176Users can view each solid using DAWN.
177</para>
178
179</sect3>
180
181<!-- ******************* Section (Level#3) ****************** -->
182<sect3 id="sect.Geom.Edit.LogVol">
183<title>
184Logical Volume
185</title>
186
187<para>
188GGE can specify the following items:
189
190<informaltable>
191<tgroup cols="4">
192<tbody>
193<row>
194  <entry>Name</entry>
195  <entry>Solid</entry>
196  <entry>Material</entry>
197  <entry>VisAttribute</entry>
198</row>
199</tbody>
200</tgroup>
201</informaltable>
202</para>
203
204<para>
205The lists of solid types, names of the materials defined in the material tables, and
206names of user-defined visualization attributes are shown automatically in respective table cell for user's choices.
207</para>
208<para>
209The construction and assignment of appropriate entities for
210<literal>G4FieldManager</literal> and <literal>G4VSensitiveDetector</literal> 
211are left to the user.
212</para>
213
214</sect3>
215
216<!-- ******************* Section (Level#3) ****************** -->
217<sect3 id="sect.Geom.Edit.PhysVol">
218<title>
219Physical Volume
220</title>
221
222<para>
223Geant4 enables users to create a physical volume in different ways; the mother volume
224can be either a logical or a physical one, spatial rotation can be either
225with respect to the volume or to the frame to which the volume is attached. GGE is prepared for
226such four combinatorial cases to construct a physical volume.
227</para>
228<para>
229Five simple cases of creating physical volumes are supported by GGE.
230Primo, a single copy of a physical volume can be created by a translation and rotation. Secondo, repeated copies can be created by repeated linear translations.
231A logical volume is  translated in a Cartesian direction, starting from the initial position,
232with a given step size.
233Mother volume can be either
234another logical volume or a physical volume.
235
236
237<informaltable>
238<tgroup cols="9">
239<tbody>
240<row>
241  <entry>Name</entry>
242  <entry>LogicalVolume</entry>
243  <entry>Type and name of MotherVolume</entry>
244  <entry>Many</entry>
245  <entry>X0, Y0, Z0</entry>
246  <entry>Direction</entry>
247  <entry>StepSize</entry>
248  <entry>Unit</entry>
249  <entry>CopyNumber</entry>
250</row>
251</tbody>
252</tgroup>
253</informaltable>
254</para>
255
256<para>
257Third, repeated copies are created by rotation around an axis, placing an
258object repeatedly on a ``cylindrical'' pattern.
259Fourth,  replicas are created by slicing a volume along a Cartesian direction.
260Fifth, replicas are created by cutting a volume cylindrically.
261</para>
262
263</sect3>
264
265<!-- ******************* Section (Level#3) ****************** -->
266<sect3 id="sect.Geom.Edit.GeneCode">
267<title>
268Generation of C++ code:
269</title>
270
271<para>
272User has to type in a class name  to his
273geometry, for example, <literal>MyDetectorConstruction</literal>. Then, with a mouse button click,
274source codes in the form of an
275include file and a source file are created and shown in the editor panel. In this example, they are
276<literal>MyDetectorConstruction.cc</literal> and <literal>MyDetectorConstruction.hh</literal> files.
277They reflect all current user modifications in the tables in real-time.
278</para>
279
280</sect3>
281
282<!-- ******************* Section (Level#3) ****************** -->
283<sect3 id="sect.Geom.Edit.Vis">
284<title>
285Visualization
286</title>
287
288<para>
289The whole geometry can be visualized after the
290compilation of the source code <literal>MyDetectorConstruction.cc</literal>
291with appropriate parts of Geant4. (In particular only the geometry
292and visualization, together with the small other parts they depend
293on, are needed.) MOMO provides Physics Editor to create standard electromagnetic physics
294and a minimum main program. See the on-line document in MOMO.
295</para>
296
297
298</sect3>
299</sect2>
Note: See TracBrowser for help on using the repository browser.