source: trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/particle.html @ 1358

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

CVS update

File size: 13.2 KB
Line 
1<HTML>
2<TITLE>
3</TITLE>
4<!-- Changed by: Katsuya Amako, 21-Sep-1998 -->
5<!-- Proof read by: Joe Chuma,  29-Jun-1999 -->
6<!-- Changed by: Hisaya Kurashige, 28-Oct-2001 -->
7<!-- Changed by: Dennis Wright, 27-Nov-2001 -->
8<!-- Changed by: Dennis Wright, 18-Jan-2006 -->
9
10<BODY>
11<TABLE WIDTH="100%"><TR>
12<TD>
13
14
15<A HREF="index.html">
16<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
17<A HREF="physicsProcess.html">
18<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
19<A HREF="thresholdVScut.html">
20<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
21</TD>
22<TD ALIGN="Right">
23<FONT SIZE="-1" COLOR="#238E23">
24<B>Geant4 User's Guide</B>
25<BR>
26<B>For Application Developers</B>
27<BR>
28<B>Tracking and Physics</B>
29</FONT>
30</TD>
31</TR></TABLE>
32<BR><BR>
33
34<P ALIGN="Center">
35<FONT SIZE="+3" COLOR="#238E23">
36<B>5.3 Particles</B>
37</FONT>
38<BR><BR>
39
40<HR ALIGN="Center" SIZE="7%">
41<p>
42
43<a name="5.3.1">
44<H2>5.3.1 Basic concepts</H2></a>
45
46 There are three levels of classes to describe particles in Geant4.
47 <p>
48 <table>
49 <tr>
50 <td><i>G4ParticleDefinition</i>
51 <td>defines a particle
52 <tr>
53 <td><i>G4DynamicParticle</i>
54 <td>describes a particle interacting with materials
55 <tr>
56 <td><i>G4Track</i>
57 <td>describes a particle traveling in space and time
58 </table>
59 <p>
60 <i>G4ParticleDefinition</i> aggregates information to characterize
61 a particle's properties, such as name, mass, spin, life time, and decay modes.
62 <i>G4DynamicParticle</i> aggregates information to describe the dynamics of
63 particles, such as energy, momentum, polarization, and proper time,
64 as well as ``particle definition'' information.
65 <i>G4Track</i> includes all information necessary for tracking
66 in a detector simulation, such as time, position, and step,
67 as well as ``dynamic particle'' information.
68 <P>
69 <i>G4Track</i> has all the information necessary for tracking in Geant4.
70 It includes position, time, and step, as well as kinematics.
71 Details of <i>G4Track</i> will be described in
72 <a href="tracking.html">Section 5.1</a>.
73<P>
74 Besides above three classes, <i>G4ParticleWithCuts</i> class plays
75 an important role. It provides the functionality to convert
76 the cut value in range into energy thresholds for all materials.
77<HR>
78<a name="5.3.2">
79<H2>5.3.2 Definition of a particle</H2></a>
80
81 There are a large number of elementary particles and nuclei. Geant4 provides the
82 <i>G4ParticleDefinition</i> class to represent particles, and various particles,
83 such as the electron, proton, and gamma have their own classes derived from
84 <i>G4ParticleDefinition</i>.
85 <p>
86 We do not need to make a class in Geant4 for every kind of particle in the world.
87 There are more than 100 types of particles defined in Geant4 by default.
88 Which particles should be included, and how to
89 implement them, is determined according to the following criteria.
90 (Of course, the user can define any particles he wants. Please see the
91 <b>User's Guide: For ToolKit Developers</b>)
92 <P>
93 <BR>
94
95<H4>5.3.2.1 Particle List in Geant4</H4>
96This list includes all particles in Geant4 and you can see
97properties of particles such as
98<UL>
99<LI> PDG encoding
100<LI> mass and width
101<LI> spin, isospin and parity
102<LI> life time and decay modes
103<LI> quark contents
104</UL>
105Here is  a list of particles in Geant4. This list is generated automatically
106by using Geant4 functionality,
107so listed values are same as those in your Geant4 application.
108(as far as you do not change source codes)
109<P>
110<H5> Categories </H5>
111<UL> 
112<LI><A HREF="../Appendix/particleList.src/quarks/index.html">gluon / quarks / di-quarks </A></TD>
113<LI><A HREF="../Appendix/particleList.src/leptons/index.html">leptons</A></TD>
114<LI><A HREF="../Appendix/particleList.src/mesons/index.html">mesons</A></TD>
115<LI><A HREF="../Appendix/particleList.src/baryons/index.html">baryons</A></TD>
116<LI><A HREF="../Appendix/particleList.src/ions/index.html">ions</A></TD>
117<LI><A HREF="../Appendix/particleList.src/others/index.html">others</A></TD>
118</UL>
119
120<H4>5.3.2.2 Classification of particles</H4>
121
122 <ol type=a>
123 <li>elementary particles which should be tracked in Geant4<BR>
124  All particles that can fly a finite length and interact with
125  materials in detectors are included in this category.
126  In addition, some particles with a very short lifetime are included.
127  <ol type=1>
128  <li>stable particles<BR>
129   Stable means that the particle can not decay,
130   or has a very small possibility to decay in detectors,
131   e.g., gamma, electron, proton, and neutron.
132  <li>long life (>10<sup>-14</sup>sec) particles<BR>
133   Particles which may travel a finite length, e.g., muon, charged pions.
134  <li>short life particles that need to decay in Geant4<BR>
135   For example, <font face="symbol">p</font><sup>0</sup>,<font face="symbol">h</font>
136  <li>K<sup>0</sup> system<BR>
137   K<sup>0</sup> "decays" immediately into K<sup>0</sup><sub>S</sub> or
138   K<sup>0</sup><sub>L</sub>,
139   and then K<sup>0</sup><sub>S</sub>/K<sup>0</sup><sub>L</sub> decays
140   according to its life time and decay modes.
141  <li>optical photons<BR>
142   Gammas and optical photons are distinguished in the simulation view,
143   though both are the same particle (photons with different energies).
144   For example, optical photons are used for Cerenkov light and scintillation light.
145  <li>geantinos/charged geantinos<BR>
146   Geantinos and charged geantinos are virtual particles for simulation
147   which do not interact with materials and undertake transportation processes only.
148 </ol>
149 <li>nuclei<BR>
150   Any kinds of nucleus can be used in Geant4, such as alpha(He-4), uranium-238 and
151   excited states of carbon-14. Nuclei in Geant4 are divided into two groups from
152   the viewpoint of implementation.   
153 <ol type=1>
154  <li>light nuclei<BR>
155   Light nuclei frequently used in simulation, e.g.,
156   alpha, deuteron, He3, triton.
157  <li>heavy nuclei<BR>
158   Nuclei other than those defined in the previous category.
159 </ol>
160  Note that G4ParticleDefinition represents nucleus state and G4DynamicParticle
161  represents atomic state with some nucleus. Both alpha particle with charge of +2
162  and helium atom with no charge aggregates the same "particle definition" of G4Alpha,
163  but different G4DynamicParticle objects should be assigned to them.
164  (Details can be found below)
165 <li>short-lived particles<BR>
166  Particles with very short life time decay immediately and are never tracked
167  in the detector geometry. These particles are usually used only inside
168  physics processes to implement some models of interactions.
169  <i>G4VShortLivedParticle</i> is provided as the base class for these particles.
170  All classes related to particles in this category
171  can be found in <tt>shortlived</tt> sub-directory under the
172  <tt>particles</tt> directory.
173 <ol type=1>
174  <li>quarks/di-quarks<BR>
175   For example, all 6 quarks.
176  <li>gluons<BR>
177  <li>baryon excited states with very short life<BR>
178   For example, spin 3/2 baryons and anti-baryons
179  <li>meson excited states with very short life<BR>
180   For example, spin 1 vector bosons
181 </ol>
182 </ol>
183<P>
184 
185<H4>5.3.2.3 Implementation of particles</H4>
186
187 <table>
188
189 <tr>
190 <td>Dynamic creation by user's physics list:
191 <td>Categories a, b-1
192 <tr>
193 <td colspan=2>These particles are frequently used for tracking in Geant4.
194 An individual class is defined for each particle in these categories.
195 The object in each class should be created in the physics list and should be unique.
196 The user can get pointers to these objects by using static methods in their own classes. 
197 <p>
198 WARNING: Beginning with Geant4 version 8.0, all particle definitions are revised to "non-static" objects.
199 <tr><td><td>
200 <tr><td><td>
201 <tr>
202 <td>On-the-fly creation:
203 <td>Category b-2
204 <tr>
205 <td colspan=2>Ions will travel in a detector geometry and should be tracked,
206 however, the number of ions which may be used for hadronic processes is so huge
207 that ions are dynamic rather than static. Each ion corresponds to one object of the
208 <i>G4Ions</i> class, and it will be created on the fly in the <tt>G4ParticleTable::GetIon()</tt>
209 method.
210 <tr><td><td>
211 <tr><td><td>
212 <tr>
213 <td>: <td>Category c
214 <tr>
215 <td colspan=2>Particle types in this category are are not created by default,
216 but will only be created by request from processes or directly by users.
217 Each shortlived particle corresponds to one object of a class derived from
218 <i>G4VshortLivedParticle</i>, and it will be created dynamically during
219 the ``initialization phase''.
220 
221 </table>
222
223 <P>
224
225<H4>5.3.2.4 <i>G4ParticleDefinition</i></H4>
226
227 The <i>G4ParticleDefinition</i> class has ``read-only'' properties to characterize individual
228 particles, such as name, mass, charge, spin, and so on. These properties are set during
229 initialization of each particle. Methods to get these properties are listed in Table 5.3.1.
230 <p>
231 <center><table border=2 cellpadding=10>
232 <tr>
233 <td><tt>G4String GetParticleName()</tt>
234 <td>particle name
235 <tr>
236 <td><tt>G4double GetPDGMass()</tt>
237 <td>mass
238 <tr>
239 <td><tt>G4double GetPDGWidth()</tt>
240 <td>decay width
241 <tr>
242 <td><tt>G4double GetPDGCharge()</tt>
243 <td>electric charge
244 <tr>
245 <td><tt>G4double GetPDGSpin()</tt>
246 <td>spin
247 <tr>
248 <td><tt>G4int    GetPDGiParity()</tt>
249 <td>parity (0:not defined)
250 <tr>
251 <td><tt>G4int    GetPDGiConjugation()</tt>
252 <td>charge conjugation (0:not defined)
253 <tr>
254 <td><tt>G4double GetPDGIsospin()</tt>
255 <td>iso-spin
256 <tr>
257 <td><tt>G4double GetPDGIsospin3()</tt>
258 <td>3<sup>rd</sup>-component of iso-spin
259 <tr>
260 <td><tt>G4int    GetPDGiGParity()</tt>
261 <td>G-parity (0:not defined)
262 <tr>
263 <td><tt>G4String GetParticleType()</tt>
264 <td>particle type
265 <tr>
266 <td><tt>G4String GetParticleSubType()</tt>
267 <td>particle sub-type
268 <tr>
269 <td><tt>G4int    GetLeptonNumber()</tt>
270 <td>lepton number
271 <tr>
272 <td><tt>G4int    GetBaryonNumber()</tt>
273 <td>baryon number
274 <tr>
275 <td><tt>G4int    GetPDGEncoding()</tt>
276 <td>particle encoding number by PDG
277 <tr>
278 <td><tt>G4int    GetAntiPDGEncoding()</tt>
279 <td>encoding for anti-particle of this particle
280<tr>
281<td align=center colspan=2>
282 Table 5.3.1<BR>
283 Methods to get particle properties.
284</td>
285</tr>
286</table></center>
287 <P>
288 Table 5.3.2 shows the methods of <i>G4ParticleDefinition</i> for getting information about decay modes
289 and the life time of the particle.
290 <p>
291 <center><table border=2 cellpadding=10>
292 <tr>
293 <td><tt>G4bool   GetPDGStable()</tt>
294 <td>stable flag
295 <tr>
296 <td><tt>G4double GetPDGLifeTime()</tt>
297 <td>life time
298 <tr>
299 <td><tt>G4DecayTable* GetDecayTable()</tt>
300 <td>decay table
301<tr>
302<td align=center colspan=2>
303 Table 5.3.2<BR>
304 Methods to get particle decay modes and life time.
305</td>
306</tr>
307</table></center>
308 <p>
309 Users can modify these properties, though the other properties listed above can not be change without rebuilding the libraries.
310 <P>
311 <i>G4ParticleDefinition</i> provides methods for setting and/or getting cut off values, as
312 shown in Table 5.3.3.
313  <p>
314 However, these methods only provide the functionality to set and get values.
315 Calculation of energy cut-off values from a cut-off value in range
316 is implemented in the <i>G4ParticleWithCuts</i> class, as described below.
317 <P>
318 In addition, each particle has its own <i>G4ProcessManger</i> object that manages a list of
319 processes applicable to the particle.     
320 <P>
321
322<HR>
323<a name="5.3.3">
324<H2>5.3.3 Dynamic particle</H2></a>
325
326 The <i>G4DynamicParticle</i> class has kinematics information for the particle
327 and is used for describing the dynamics of physics processes.
328 The properties in <i>G4DynamicParticle</i> are listed in Table 5.3.4.
329 <p>
330  <center><table border=2 cellpadding=10>
331 <tr>
332 <td><tt>G4double         theDynamicalMass</tt>
333 <td>dynamical mass
334 <tr>
335 <td><tt>G4ThreeVector         theMomentumDirection</tt>
336 <td>normalized momentum vector
337 <tr>
338 <td><tt>G4ParticleDefinition* theParticleDefinition</tt>
339 <td>definition of particle
340 <tr>
341 <td><tt>G4ThreeVector         thePolarization</tt>
342 <td>polarization vector
343 <tr>
344 <td><tt>G4double              theKineticEnergy</tt>
345 <td>kinetic energy
346 <tr>
347 <td><tt>G4double              theProperTime</tt>
348 <td>proper time
349 <tr>
350 <td><tt>G4ElectronOccupancy*  theElectronOccupancy</tt>
351 <td>electron orbits for ions
352 <tr>
353 <td align=center colspan=2>
354 Table 5.3.4<BR>
355 Methods to set/get cut off values.
356 </td>
357 </tr>
358 </table></center>
359 <p>
360 Here, the dynamical mass is defined as the mass for the dynamic particle.
361 For most cases, it is same as the mass defined in <i>G4ParticleDefinition</i> class
362 ( i.e. mass value given by <tt>GetPDGMass()</tt> method). However, there are
363 two exceptions.
364 <ul>
365 <li> resonace particle
366 <li> ions
367 </ul>
368 Resonace particles have large mass width and the total energy of decay products
369 at the center of mass system can be different event by event.
370 <p>
371 As for ions, <i>G4ParticleDefintion</i> defines a nucleus and <i>G4DynamicParticle</i>
372 defines an atom. <i>G4ElectronOccupancy</i> describes state of orbital electrons.
373 So, the dynaimc mass can be different from the PDG mass by the mass of electrons
374 (and their binding energy).
375 <p>
376 Decay products of heavy flavor particles are given in many event generators.
377 In such cases, <i>G4VPrimaryGenerator</i> sets this information
378 in <tt>*thePreAssignedDecayProducts</tt>. In addition, decay time of
379 the particle can be set arbitrarily time by using <tt>PreAssignedDecayProperTime</tt>.
380 <P>
381
382<BR><BR>
383<HR>
384<A HREF="../../../../Authors/html/subjectsToAuthors.html">
385<I>About the authors</I></A>
386
387</BODY>
388</HTML>
Note: See TracBrowser for help on using the repository browser.