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

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

Add Geant4 Documentation at 8.12.2008

File size: 21.1 KB
Line 
1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.3.  Particles</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="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="prev" href="ch05s02.html" title="5.2.  Physics Processes"><link rel="next" href="ch05s04.html" title="5.4.  Production Threshold versus Tracking Cut"><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">5.3. 
9Particles
10</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 5. 
11Tracking and Physics
12</th><td width="20%" align="right"> <a accesskey="n" href="ch05s04.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.Parti"></a>5.3. 
13Particles
14</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Basic"></a>5.3.1. 
15Basic concepts
16</h3></div></div></div><p>
17There are three levels of classes to describe particles in Geant4.
18
19</p><div class="variablelist"><dl><dt><span class="term">
20      <span class="emphasis"><em>G4ParticleDefinition</em></span>
21    </span></dt><dd>
22      defines a particle
23    </dd><dt><span class="term">
24      <span class="emphasis"><em>G4DynamicParticle</em></span>
25    </span></dt><dd>
26      describes a particle interacting with materials
27    </dd><dt><span class="term">
28      <span class="emphasis"><em>G4Track</em></span>
29    </span></dt><dd>
30      describes a particle traveling in space and time
31    </dd></dl></div><p>
32</p><p>
33<span class="emphasis"><em>G4ParticleDefinition</em></span> aggregates information to
34characterize a particle's properties, such as name, mass, spin,
35life time, and decay modes. <span class="emphasis"><em>G4DynamicParticle</em></span> aggregates
36information to describe the dynamics of particles, such as energy,
37momentum, polarization, and proper time, as well as ``particle
38definition'' information. <span class="emphasis"><em>G4Track</em></span> includes all information
39necessary for tracking in a detector simulation, such as time,
40position, and step, as well as ``dynamic particle''
41information.
42</p><p>
43<span class="emphasis"><em>G4Track</em></span> has all the information necessary for tracking in
44Geant4. It includes position, time, and step, as well as
45kinematics. Details of <span class="emphasis"><em>G4Track</em></span> will be described in
46<a href="ch05.html#sect.Track" title="5.1. 
47Tracking
48">Section 5.1</a>.
49</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Def"></a>5.3.2. 
50Definition of a particle
51</h3></div></div></div><p>
52There are a large number of elementary particles and nuclei. Geant4
53provides the <span class="emphasis"><em>G4ParticleDefinition</em></span> class to represent
54particles, and various particles, such as the electron, proton, and
55gamma have their own classes derived from
56<span class="emphasis"><em>G4ParticleDefinition</em></span>.
57</p><p>
58We do not need to make a class in Geant4 for every kind of
59particle in the world. There are more than 100 types of particles
60defined in Geant4 by default. Which particles should be included,
61and how to implement them, is determined according to the following
62criteria. (Of course, the user can define any particles he wants.
63Please see the <span class="bold"><strong>User's Guide: For ToolKit
64Developers</strong></span>).
65</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.PartiList"></a>5.3.2.1. 
66Particle List in Geant4
67</h4></div></div></div><p>
68This list includes all particles in Geant4 and you can see
69properties of particles such as
70
71</p><div class="itemizedlist"><ul type="disc" compact><li><p>
72    PDG encoding
73  </p></li><li><p>
74    mass and width
75  </p></li><li><p>
76    electric charge
77  </p></li><li><p>
78    spin, isospin and parity
79  </p></li><li><p>
80    magnetic moment
81  </p></li><li><p>
82    quark contents
83  </p></li><li><p>
84    life time and decay modes
85  </p></li></ul></div><p>
86</p><p>
87Here is a list of particles in Geant4. This list is generated
88automatically by using Geant4 functionality, so listed values are
89same as those in your Geant4 application (as far as you do not
90change source codes).
91</p><h5><a name="id470604"></a>
92Categories
93</h5><p>
94</p><div class="itemizedlist"><ul type="disc" compact><li><p>
95    <a href="./AllResources/TrackingAndPhysics/particleList.src/quarks/index.html" target="_top">
96    gluon / quarks / di-quarks
97    </a>
98  </p></li><li><p>
99    <a href="./AllResources/TrackingAndPhysics/particleList.src/leptons/index.html" target="_top">
100    leptons
101    </a>
102  </p></li><li><p>
103    <a href="./AllResources/TrackingAndPhysics/particleList.src/mesons/index.html" target="_top">
104    mesons
105    </a>
106  </p></li><li><p>
107    <a href="./AllResources/TrackingAndPhysics/particleList.src/baryons/index.html" target="_top">
108    baryons
109    </a>
110  </p></li><li><p>
111    <a href="./AllResources/TrackingAndPhysics/particleList.src/ions/index.html" target="_top">
112    ions
113    </a>
114  </p></li><li><p>
115    <a href="./AllResources/TrackingAndPhysics/particleList.src/others/index.html" target="_top">
116    others
117    </a>
118  </p></li></ul></div><p>
119</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.Classif"></a>5.3.2.2. 
120Classification of particles
121</h4></div></div></div><p>
122</p><div class="orderedlist"><ol type="1" compact><li><p>
123    </p><p>
124    elementary particles which should be tracked in Geant4 volumes
125    </p><p>
126    </p><p>
127    All particles that can fly a finite length and interact with
128    materials in detectors are included in this category. In addition,
129    some particles with a very short lifetime are included
130    for user's convenience.
131
132    </p><div class="orderedlist"><ol type="a" compact><li><p>
133        stable particles
134        </p><p>
135        Stable means that the particle can not decay, or has a very small
136        possibility to decay in detectors, e.g., gamma, electron, proton,
137        and neutron.
138        </p><p>
139      </p></li><li><p>
140        long life (&gt;10<sup>-14</sup>sec) particles
141        </p><p>
142        Particles which may travel a finite length, e.g., muon, charged
143        pions.
144        </p><p>
145      </p></li><li><p>
146        short life particles that decay immediately in Geant4
147        </p><p>
148        For example, pi<sup>0</sup>, eta
149        </p><p>
150      </p></li><li><p>
151        K<sup>0</sup> system
152        </p><p>
153        K<sup>0</sup> "decays" immediately into
154        K<sup>0</sup><sub>S</sub>
155        or K<sup>0</sup><sub>L</sub>, and then
156        K<sup>0</sup><sub>S</sub>/
157        K<sup>0</sup><sub>L</sub> decays
158        according to its life time and decay modes.
159        </p><p>
160      </p></li><li><p>
161        optical photon
162        </p><p>
163        Gamma and optical photon are distinguished in the simulation
164        view, though both are the same particle (photons with different
165        energies). For example, optical photon is used for Cerenkov light
166        and scintillation light.
167        </p><p>
168      </p></li><li><p>
169        geantino/charged geantino
170        </p><p>
171        Geantino and charged geantino are virtual particles for
172        simulation which do not interact with materials and undertake
173        transportation processes only.
174        </p><p>
175      </p></li></ol></div><p>
176    </p><p>
177  </p></li><li><p>
178    nuclei
179    </p><p>
180    Any kinds of nucleus can be used in Geant4, such as alpha(He-4),
181    uranium-238 and excited states of carbon-14. In addition,
182    Geant4 provides hyper-nuclei. Nuclei in Geant4 are
183    divided into two groups from the viewpoint of implementation.
184    </p><div class="orderedlist"><ol type="a" compact><li><p>
185        light nuclei
186        </p><p>
187        Light nuclei frequently used in simulation, e.g., alpha, deuteron,
188        He3, triton.
189        </p><p>
190      </p></li><li><p>
191        heavy nuclei (including hyper-nuclei)
192        </p><p>
193        Nuclei other than those defined in the previous category.
194        </p><p>
195      </p></li></ol></div><p>
196
197    Note that G4ParticleDefinition represents nucleus state and
198    G4DynamicParticle represents atomic state with some nucleus. Both
199    alpha particle with charge of +2e and helium atom with no charge
200    aggregates the same "particle definition" of G4Alpha, but different
201    G4DynamicParticle objects should be assigned to them. (Details can
202    be found below)
203    </p><p>
204  </p></li><li><p>
205    short-lived particles
206    </p><p>
207    Particles with very short life time decay immediately and are never
208    tracked in the detector geometry. These particles are usually used
209    only inside physics processes to implement some models of
210    interactions. <span class="emphasis"><em>G4VShortLivedParticle</em></span> is provided as
211    the base class for these particles. All classes related to particles in
212    this category can be found in <code class="literal">shortlived</code> sub-directory
213    under the <code class="literal">particles</code> directory.
214
215    </p><div class="orderedlist"><ol type="a" compact><li><p>
216        quarks/di-quarks
217        </p><p>
218        For example, all 6 quarks.
219        </p><p>
220      </p></li><li><p>
221        gluon
222      </p></li><li><p>
223        baryon excited states with very short life
224        </p><p>
225        For example, spin 3/2 baryons and anti-baryons
226        </p><p>
227      </p></li><li><p>
228        meson excited states with very short life
229        </p><p>
230        For example, spin 1 vector bosons
231        </p><p>
232      </p></li></ol></div><p>
233    </p><p>
234  </p></li></ol></div><p>
235</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.Imple"></a>5.3.2.3. 
236Implementation of particles
237</h4></div></div></div><p>
238<span class="emphasis"><em>Single object created in the initialization :</em></span> 
239Categories a, b-1
240</p><p>
241These particles are frequently used for tracking in
242Geant4. An individual class is defined for each particle in these
243categories. The object in each class is unique.
244The user can get pointers to these objects by using static methods
245in their own classes. The unique object for each class is created
246when its static method is called in the ``initialization phase''.
247</p><p>
248<span class="emphasis"><em>On-the-fly creation:</em></span> Category b-2
249</p><p>
250Ions will travel in a detector geometry and should
251be tracked, however, the number of ions which may be used for
252hadronic processes is so huge that ions are dynamically
253created by requests from processes (and users).
254Each ion corresponds to one object of the <span class="emphasis"><em>G4Ions</em></span>
255class.
256<span class="emphasis"><em>G4IonTable</em></span> class is a dictionary for ions.
257<code class="literal">G4ParticleTable::GetIon()</code> method invokes
258<code class="literal">G4IonTable::GetIon()</code> method to create ions
259on the fly.
260</p><p>
261Users can register a <span class="emphasis"><em>G4IsotopeTable</em></span> to the
262<span class="emphasis"><em>G4IonTable</em></span>. <span class="emphasis"><em>G4IsotopeTable</em></span>
263describes properties of ions (exited energy, decay modes, life time
264and magnetic moments), which are used to create ions.
265</p><p>
266<span class="emphasis"><em>Dynamic creation by processes:</em></span> Category c
267</p><p>
268Particle types in this category are are not created
269by default, but will only be created by request from processes or
270directly by users. Each shortlived particle corresponds to one
271object of a class derived from <span class="emphasis"><em>G4VshortLivedParticle</em></span>,
272and it will be created dynamically during the ``initialization
273phase''.
274</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.G4Parti"></a>5.3.2.4. 
275G4ParticleDefinition
276</h4></div></div></div><p>
277The <span class="emphasis"><em>G4ParticleDefinition</em></span> class has ``read-only'' properties
278to characterize individual particles, such as name, mass, charge,
279spin, and so on. These properties are set during initialization of
280each particle. Methods to get these properties are listed in
281<a href="ch05s03.html#table.Parti_1" title="Table 5.2. 
282Methods to get particle properties.
283">Table 5.2</a>.
284
285</p><div class="table"><a name="table.Parti_1"></a><div class="table-contents"><table summary="
286Methods to get particle properties.
287" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
288      <code class="literal">G4String GetParticleName()</code>
289    </td><td>
290      particle name
291    </td></tr><tr><td>
292      <code class="literal">G4double GetPDGMass()</code>
293    </td><td>
294      mass
295    </td></tr><tr><td>
296      <code class="literal">G4double GetPDGWidth()</code>
297    </td><td>
298      decay width
299    </td></tr><tr><td>
300      <code class="literal">G4double GetPDGCharge()</code>
301    </td><td>
302      electric charge
303    </td></tr><tr><td>
304      <code class="literal">G4double GetPDGSpin()</code>
305    </td><td>
306      spin
307    </td></tr><tr><td>
308      <code class="literal">G4double GetPDGMagneticMoment()</code>
309    </td><td>
310      magnetic moment (0: not defined or no magnetic moment)
311    </td></tr><tr><td>
312      <code class="literal">G4int GetPDGiParity()</code>
313    </td><td>
314      parity (0:not defined)
315    </td></tr><tr><td>
316      <code class="literal">G4int GetPDGiConjugation()</code>
317    </td><td>
318      charge conjugation (0:not defined)
319    </td></tr><tr><td>
320      <code class="literal">G4double GetPDGIsospin()</code>
321    </td><td>
322      iso-spin
323    </td></tr><tr><td>
324      <code class="literal">G4double GetPDGIsospin3()</code>
325    </td><td>
326      3<sup>rd</sup>-component of iso-spin
327    </td></tr><tr><td>
328      <code class="literal">G4int GetPDGiGParity()</code>
329    </td><td>
330      G-parity (0:not defined)
331    </td></tr><tr><td>
332      <code class="literal">G4String GetParticleType()</code>
333    </td><td>
334      particle type
335    </td></tr><tr><td>
336      <code class="literal">G4String GetParticleSubType()</code>
337    </td><td>
338      particle sub-type
339    </td></tr><tr><td>
340      <code class="literal">G4int GetLeptonNumber()</code>
341    </td><td>
342      lepton number
343    </td></tr><tr><td>
344      <code class="literal">G4int GetBaryonNumber()</code>
345    </td><td>
346      baryon number
347    </td></tr><tr><td>
348      <code class="literal">G4int GetPDGEncoding()</code>
349    </td><td>
350      particle encoding number by PDG
351    </td></tr><tr><td>
352      <code class="literal">G4int GetAntiPDGEncoding()</code>
353    </td><td>
354      encoding for anti-particle of this particle
355    </td></tr></tbody></table></div><p class="title"><b>Table 5.2. 
356Methods to get particle properties.
357</b></p></div><p><br class="table-break">
358</p><p>
359<a href="ch05s03.html#table.Parti_2" title="Table 5.3. 
360Methods to get particle decay modes and life time.
361">Table 5.3</a> shows the methods of
362<span class="emphasis"><em>G4ParticleDefinition</em></span> for
363getting information about decay modes and the life time of the
364particle.
365
366</p><div class="table"><a name="table.Parti_2"></a><div class="table-contents"><table summary="
367Methods to get particle decay modes and life time.
368" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
369      <code class="literal">G4bool GetPDGStable()</code>
370    </td><td>
371      stable flag
372    </td></tr><tr><td>
373      <code class="literal">G4double GetPDGLifeTime()</code>
374    </td><td>
375      life time
376    </td></tr><tr><td>
377      <code class="literal">G4DecayTable* GetDecayTable()</code>
378    </td><td>
379      decay table
380    </td></tr></tbody></table></div><p class="title"><b>Table 5.3. 
381Methods to get particle decay modes and life time.
382</b></p></div><p><br class="table-break">
383</p><p>
384Users can modify these properties, though the other properties
385listed above can not be change without rebuilding the
386libraries.
387</p><p>
388Each particle has its own <span class="emphasis"><em>G4ProcessManger</em></span>
389object that manages a list of processes applicable to the
390particle.(see <a href="ch02s05.html#sect.HowToSpecPhysProc.ManagingProc" title="2.5.2. 
391Managing Processes
392">Section 2.5.2</a> )
393</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Dynam"></a>5.3.3. 
394Dynamic particle
395</h3></div></div></div><p>
396The <span class="emphasis"><em>G4DynamicParticle</em></span> class has kinematics information for
397the particle and is used for describing the dynamics of physics
398processes. The properties in <span class="emphasis"><em>G4DynamicParticle</em></span> are listed in
399<a href="ch05s03.html#table.Parti_4" title="Table 5.4. 
400Methods to set/get cut off values.
401">Table 5.4</a>.
402
403</p><div class="table"><a name="table.Parti_4"></a><div class="table-contents"><table summary="
404Methods to set/get cut off values.
405" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
406      <code class="literal">G4double theDynamicalMass</code>
407    </td><td>
408      dynamical mass
409    </td></tr><tr><td>
410      <code class="literal">G4ThreeVector theMomentumDirection</code>
411    </td><td>
412      normalized momentum vector
413    </td></tr><tr><td>
414      <code class="literal">G4ParticleDefinition* theParticleDefinition</code>
415    </td><td>
416      definition of particle
417    </td></tr><tr><td>
418      <code class="literal">G4double theDynamicalSpin</code>
419    </td><td>
420      dynamical spin
421      (i.e. total angular momentum as a ion/atom )
422    </td></tr><tr><td>
423      <code class="literal">G4ThreeVector thePolarization</code>
424    </td><td>
425      polarization vector
426    </td></tr><tr><td>
427      <code class="literal">G4double theMagneticMoment</code>
428    </td><td>
429      dynamical magnetic moment
430      (i.e. total magnetic moment as a ion/atom )
431    </td></tr><tr><td>
432      <code class="literal">G4double theKineticEnergy</code>
433    </td><td>
434      kinetic energy
435    </td></tr><tr><td>
436      <code class="literal">G4double theProperTime</code>
437    </td><td>
438      proper time
439    </td></tr><tr><td>
440      <code class="literal">G4double theDynamicalCharge</code>
441    </td><td>
442      dynamical electric charge
443      (i.e. total electric charge as a ion/atom )
444    </td></tr><tr><td>
445      <code class="literal">G4ElectronOccupancy* theElectronOccupancy</code>
446    </td><td>
447      electron orbits for ions
448    </td></tr></tbody></table></div><p class="title"><b>Table 5.4. 
449Methods to set/get cut off values.
450</b></p></div><p><br class="table-break">
451</p><p>
452Here, the dynamical mass is defined as the mass for the dynamic
453particle. For most cases, it is same as the mass defined in
454<span class="emphasis"><em>G4ParticleDefinition</em></span> class ( i.e. mass value given by
455<code class="literal">GetPDGMass()</code> method). However, there are two
456exceptions.
457
458</p><div class="itemizedlist"><ul type="disc" compact><li><p>
459    resonance particle
460  </p></li><li><p>
461    ions
462  </p></li></ul></div><p>
463</p><p>
464Resonance particles have large mass width and the total energy of
465decay products at the center of mass system can be different event
466by event.
467</p><p>
468As for ions, <span class="emphasis"><em>G4ParticleDefintion</em></span> defines a nucleus and
469<span class="emphasis"><em>G4DynamicParticle</em></span> defines an atom.
470<span class="emphasis"><em>G4ElectronOccupancy</em></span> describes state of orbital electrons.
471So, the dynamic mass can be different from the PDG mass by the mass
472of electrons (and their binding energy). In addition, the dynamical
473charge, spin and magnetic moment are those of the atom/ion
474(i.e. including nucleus and orbit electrons).
475</p><p>
476Decay products of heavy flavor particles are given in many event
477generators. In such cases, <span class="emphasis"><em>G4VPrimaryGenerator</em></span> sets this
478information in <code class="literal">*thePreAssignedDecayProducts</code>. In addition,
479decay time of the particle can be set arbitrarily time by using
480<code class="literal">PreAssignedDecayProperTime</code>.
481</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5.2. 
482Physics Processes
483 </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"> 5.4. 
484Production Threshold versus Tracking Cut
485</td></tr></table></div></body></html>
Note: See TracBrowser for help on using the repository browser.