source: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/particle.xml@ 1036

Last change on this file since 1036 was 904, checked in by garnier, 17 years ago

ajout de la doc

File size: 20.0 KB
Line 
1<!-- ******************************************************** -->
2<!-- -->
3<!-- [History] -->
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<!-- Converted to DocBook: Katsuya Amako, Aug-2006 -->
9<!-- Changed by: Hisaya Kurashige, 02-Dec-2007 -->
10<!-- Changed by: Hisaya Kurashige, 01-Dec-2008 -->
11<!-- -->
12<!-- ******************************************************** -->
13
14
15<!-- ******************* Section (Level#1) ****************** -->
16<sect1 id="sect.Parti">
17<title>
18Particles
19</title>
20
21
22<!-- ******************* Section (Level#2) ****************** -->
23<sect2 id="sect.Parti.Basic">
24<title>
25Basic concepts
26</title>
27
28<para>
29There are three levels of classes to describe particles in Geant4.
30
31<variablelist>
32 <varlistentry>
33 <term>
34 <emphasis>G4ParticleDefinition</emphasis>
35 </term>
36 <listitem>
37 defines a particle
38 </listitem>
39 </varlistentry>
40 <varlistentry>
41 <term>
42 <emphasis>G4DynamicParticle</emphasis>
43 </term>
44 <listitem>
45 describes a particle interacting with materials
46 </listitem>
47 </varlistentry>
48 <varlistentry>
49 <term>
50 <emphasis>G4Track</emphasis>
51 </term>
52 <listitem>
53 describes a particle traveling in space and time
54 </listitem>
55 </varlistentry>
56</variablelist>
57</para>
58
59<para>
60<emphasis>G4ParticleDefinition</emphasis> aggregates information to
61characterize a particle's properties, such as name, mass, spin,
62life time, and decay modes. <emphasis>G4DynamicParticle</emphasis> aggregates
63information to describe the dynamics of particles, such as energy,
64momentum, polarization, and proper time, as well as ``particle
65definition'' information. <emphasis>G4Track</emphasis> includes all information
66necessary for tracking in a detector simulation, such as time,
67position, and step, as well as ``dynamic particle''
68information.
69</para>
70
71<para>
72<emphasis>G4Track</emphasis> has all the information necessary for tracking in
73Geant4. It includes position, time, and step, as well as
74kinematics. Details of <emphasis>G4Track</emphasis> will be described in
75<xref linkend="sect.Track" />.
76</para>
77
78</sect2>
79
80
81<!-- ******************* Section (Level#2) ****************** -->
82<sect2 id="sect.Parti.Def">
83<title>
84Definition of a particle
85</title>
86
87<para>
88There are a large number of elementary particles and nuclei. Geant4
89provides the <emphasis>G4ParticleDefinition</emphasis> class to represent
90particles, and various particles, such as the electron, proton, and
91gamma have their own classes derived from
92<emphasis>G4ParticleDefinition</emphasis>.
93</para>
94
95<para>
96We do not need to make a class in Geant4 for every kind of
97particle in the world. There are more than 100 types of particles
98defined in Geant4 by default. Which particles should be included,
99and how to implement them, is determined according to the following
100criteria. (Of course, the user can define any particles he wants.
101Please see the <emphasis role="bold">User's Guide: For ToolKit
102Developers</emphasis>).
103</para>
104
105
106<!-- ******************* Section (Level#3) ****************** -->
107<sect3 id="sect.Parti.Def.PartiList">
108<title>
109Particle List in Geant4
110</title>
111
112<para>
113This list includes all particles in Geant4 and you can see
114properties of particles such as
115
116<itemizedlist spacing="compact">
117 <listitem><para>
118 PDG encoding
119 </para></listitem>
120 <listitem><para>
121 mass and width
122 </para></listitem>
123 <listitem><para>
124 electric charge
125 </para></listitem>
126 <listitem><para>
127 spin, isospin and parity
128 </para></listitem>
129 <listitem><para>
130 magnetic moment
131 </para></listitem>
132 <listitem><para>
133 quark contents
134 </para></listitem>
135 <listitem><para>
136 life time and decay modes
137 </para></listitem>
138</itemizedlist>
139</para>
140
141<para>
142Here is a list of particles in Geant4. This list is generated
143automatically by using Geant4 functionality, so listed values are
144same as those in your Geant4 application (as far as you do not
145change source codes).
146</para>
147
148<!-- ******* Bridgehead ******* -->
149<bridgehead renderas='sect4'>
150Categories
151</bridgehead>
152
153<para>
154<itemizedlist spacing="compact">
155 <listitem><para>
156 <ulink url="./AllResources/TrackingAndPhysics/particleList.src/quarks/index.html">
157 gluon / quarks / di-quarks
158 </ulink>
159 </para></listitem>
160 <listitem><para>
161 <ulink url="./AllResources/TrackingAndPhysics/particleList.src/leptons/index.html">
162 leptons
163 </ulink>
164 </para></listitem>
165 <listitem><para>
166 <ulink url="./AllResources/TrackingAndPhysics/particleList.src/mesons/index.html">
167 mesons
168 </ulink>
169 </para></listitem>
170 <listitem><para>
171 <ulink url="./AllResources/TrackingAndPhysics/particleList.src/baryons/index.html">
172 baryons
173 </ulink>
174 </para></listitem>
175 <listitem><para>
176 <ulink url="./AllResources/TrackingAndPhysics/particleList.src/ions/index.html">
177 ions
178 </ulink>
179 </para></listitem>
180 <listitem><para>
181 <ulink url="./AllResources/TrackingAndPhysics/particleList.src/others/index.html">
182 others
183 </ulink>
184 </para></listitem>
185</itemizedlist>
186</para>
187
188</sect3>
189
190<!-- ******************* Section (Level#3) ****************** -->
191<sect3 id="sect.Parti.Def.Classif">
192<title>
193Classification of particles
194</title>
195
196<para>
197<orderedlist spacing="compact">
198 <listitem><para>
199 <para>
200 elementary particles which should be tracked in Geant4 volumes
201 </para>
202 <para>
203 All particles that can fly a finite length and interact with
204 materials in detectors are included in this category. In addition,
205 some particles with a very short lifetime are included
206 for user's convenience.
207
208 <orderedlist spacing="compact">
209 <listitem><para>
210 stable particles
211 <para>
212 Stable means that the particle can not decay, or has a very small
213 possibility to decay in detectors, e.g., gamma, electron, proton,
214 and neutron.
215 </para>
216 </para></listitem>
217 <listitem><para>
218 long life (&gt;10<superscript>-14</superscript>sec) particles
219 <para>
220 Particles which may travel a finite length, e.g., muon, charged
221 pions.
222 </para>
223 </para></listitem>
224 <listitem><para>
225 short life particles that decay immediately in Geant4
226 <para>
227 For example, pi<superscript>0</superscript>, eta
228 </para>
229 </para></listitem>
230 <listitem><para>
231 K<superscript>0</superscript> system
232 <para>
233 K<superscript>0</superscript> "decays" immediately into
234 K<superscript>0</superscript><subscript>S</subscript>
235 or K<superscript>0</superscript><subscript>L</subscript>, and then
236 K<superscript>0</superscript><subscript>S</subscript>/
237 K<superscript>0</superscript><subscript>L</subscript> decays
238 according to its life time and decay modes.
239 </para>
240 </para></listitem>
241 <listitem><para>
242 optical photon
243 <para>
244 Gamma and optical photon are distinguished in the simulation
245 view, though both are the same particle (photons with different
246 energies). For example, optical photon is used for Cerenkov light
247 and scintillation light.
248 </para>
249 </para></listitem>
250 <listitem><para>
251 geantino/charged geantino
252 <para>
253 Geantino and charged geantino are virtual particles for
254 simulation which do not interact with materials and undertake
255 transportation processes only.
256 </para>
257 </para></listitem>
258 </orderedlist>
259 </para>
260 </para></listitem>
261 <listitem><para>
262 nuclei
263 <para>
264 Any kinds of nucleus can be used in Geant4, such as alpha(He-4),
265 uranium-238 and excited states of carbon-14. In addition,
266 Geant4 provides hyper-nuclei. Nuclei in Geant4 are
267 divided into two groups from the viewpoint of implementation.
268 <orderedlist spacing="compact">
269 <listitem><para>
270 light nuclei
271 <para>
272 Light nuclei frequently used in simulation, e.g., alpha, deuteron,
273 He3, triton.
274 </para>
275 </para></listitem>
276 <listitem><para>
277 heavy nuclei (including hyper-nuclei)
278 <para>
279 Nuclei other than those defined in the previous category.
280 </para>
281 </para></listitem>
282 </orderedlist>
283
284 Note that G4ParticleDefinition represents nucleus state and
285 G4DynamicParticle represents atomic state with some nucleus. Both
286 alpha particle with charge of +2e and helium atom with no charge
287 aggregates the same "particle definition" of G4Alpha, but different
288 G4DynamicParticle objects should be assigned to them. (Details can
289 be found below)
290 </para>
291 </para></listitem>
292 <listitem><para>
293 short-lived particles
294 <para>
295 Particles with very short life time decay immediately and are never
296 tracked in the detector geometry. These particles are usually used
297 only inside physics processes to implement some models of
298 interactions. <emphasis>G4VShortLivedParticle</emphasis> is provided as
299 the base class for these particles. All classes related to particles in
300 this category can be found in <literal>shortlived</literal> sub-directory
301 under the <literal>particles</literal> directory.
302
303 <orderedlist spacing="compact">
304 <listitem><para>
305 quarks/di-quarks
306 <para>
307 For example, all 6 quarks.
308 </para>
309 </para></listitem>
310 <listitem><para>
311 gluon
312 </para></listitem>
313 <listitem><para>
314 baryon excited states with very short life
315 <para>
316 For example, spin 3/2 baryons and anti-baryons
317 </para>
318 </para></listitem>
319 <listitem><para>
320 meson excited states with very short life
321 <para>
322 For example, spin 1 vector bosons
323 </para>
324 </para></listitem>
325 </orderedlist>
326 </para>
327 </para></listitem>
328</orderedlist>
329</para>
330
331</sect3>
332
333
334<!-- ******************* Section (Level#3) ****************** -->
335<sect3 id="sect.Parti.Def.Imple">
336<title>
337Implementation of particles
338</title>
339
340<para>
341<emphasis>Single object created in the initialization :</emphasis>
342Categories a, b-1
343</para>
344
345<para>
346These particles are frequently used for tracking in
347Geant4. An individual class is defined for each particle in these
348categories. The object in each class is unique.
349The user can get pointers to these objects by using static methods
350in their own classes. The unique object for each class is created
351when its static method is called in the ``initialization phase''.
352</para>
353
354<para>
355<emphasis>On-the-fly creation:</emphasis> Category b-2
356</para>
357
358<para>
359Ions will travel in a detector geometry and should
360be tracked, however, the number of ions which may be used for
361hadronic processes is so huge that ions are dynamically
362created by requests from processes (and users).
363Each ion corresponds to one object of the <emphasis>G4Ions</emphasis>
364class.
365<emphasis>G4IonTable</emphasis> class is a dictionary for ions.
366<literal>G4ParticleTable::GetIon()</literal> method invokes
367<literal>G4IonTable::GetIon()</literal> method to create ions
368on the fly.
369</para>
370
371<para>
372 Users can register a <emphasis>G4IsotopeTable</emphasis> to the
373<emphasis>G4IonTable</emphasis>. <emphasis>G4IsotopeTable</emphasis>
374describes properties of ions (exited energy, decay modes, life time
375and magnetic moments), which are used to create ions.
376</para>
377
378<para>
379Processes attached to heavy ions are same as those for
380<emphasis>G4GenericIon</emphasis> class. In other words, you need to
381create <emphasis>G4GenericIon</emphasis> and attach processes to it
382if you want to use heavy ions.
383</para>
384
385<para>
386<emphasis>G4ParticleGun</emphasis> can shoot any heavy ions
387with /gun/ions command after ``ion'' is selected by /gun/particle command.
388</para>
389
390<para>
391<emphasis>Dynamic creation by processes:</emphasis> Category c
392</para>
393
394<para>
395Particle types in this category are are not created
396by default, but will only be created by request from processes or
397directly by users. Each shortlived particle corresponds to one
398object of a class derived from <emphasis>G4VshortLivedParticle</emphasis>,
399and it will be created dynamically during the ``initialization
400phase''.
401</para>
402
403</sect3>
404
405
406<!-- ******************* Section (Level#3) ****************** -->
407<sect3 id="sect.Parti.Def.G4Parti">
408<title>
409G4ParticleDefinition
410</title>
411
412<para>
413The <emphasis>G4ParticleDefinition</emphasis> class has ``read-only'' properties
414to characterize individual particles, such as name, mass, charge,
415spin, and so on. These properties are set during initialization of
416each particle. Methods to get these properties are listed in
417<xref linkend="table.Parti_1" />.
418
419<table id="table.Parti_1">
420<title>
421Methods to get particle properties.
422</title>
423
424<tgroup cols="2">
425 <tbody>
426 <row>
427 <entry>
428 <literal>G4String GetParticleName()</literal>
429 </entry>
430 <entry>
431 particle name
432 </entry>
433 </row>
434 <row>
435 <entry>
436 <literal>G4double GetPDGMass()</literal>
437 </entry>
438 <entry>
439 mass
440 </entry>
441 </row>
442 <row>
443 <entry>
444 <literal>G4double GetPDGWidth()</literal>
445 </entry>
446 <entry>
447 decay width
448 </entry>
449 </row>
450 <row>
451 <entry>
452 <literal>G4double GetPDGCharge()</literal>
453 </entry>
454 <entry>
455 electric charge
456 </entry>
457 </row>
458 <row>
459 <entry>
460 <literal>G4double GetPDGSpin()</literal>
461 </entry>
462 <entry>
463 spin
464 </entry>
465 </row>
466 <row>
467 <entry>
468 <literal>G4double GetPDGMagneticMoment()</literal>
469 </entry>
470 <entry>
471 magnetic moment (0: not defined or no magnetic moment)
472 </entry>
473 </row>
474 <row>
475 <entry>
476 <literal>G4int GetPDGiParity()</literal>
477 </entry>
478 <entry>
479 parity (0:not defined)
480 </entry>
481 </row>
482 <row>
483 <entry>
484 <literal>G4int GetPDGiConjugation()</literal>
485 </entry>
486 <entry>
487 charge conjugation (0:not defined)
488 </entry>
489 </row>
490 <row>
491 <entry>
492 <literal>G4double GetPDGIsospin()</literal>
493 </entry>
494 <entry>
495 iso-spin
496 </entry>
497 </row>
498 <row>
499 <entry>
500 <literal>G4double GetPDGIsospin3()</literal>
501 </entry>
502 <entry>
503 3<superscript>rd</superscript>-component of iso-spin
504 </entry>
505 </row>
506 <row>
507 <entry>
508 <literal>G4int GetPDGiGParity()</literal>
509 </entry>
510 <entry>
511 G-parity (0:not defined)
512 </entry>
513 </row>
514 <row>
515 <entry>
516 <literal>G4String GetParticleType()</literal>
517 </entry>
518 <entry>
519 particle type
520 </entry>
521 </row>
522 <row>
523 <entry>
524 <literal>G4String GetParticleSubType()</literal>
525 </entry>
526 <entry>
527 particle sub-type
528 </entry>
529 </row>
530 <row>
531 <entry>
532 <literal>G4int GetLeptonNumber()</literal>
533 </entry>
534 <entry>
535 lepton number
536 </entry>
537 </row>
538 <row>
539 <entry>
540 <literal>G4int GetBaryonNumber()</literal>
541 </entry>
542 <entry>
543 baryon number
544 </entry>
545 </row>
546 <row>
547 <entry>
548 <literal>G4int GetPDGEncoding()</literal>
549 </entry>
550 <entry>
551 particle encoding number by PDG
552 </entry>
553 </row>
554 <row>
555 <entry>
556 <literal>G4int GetAntiPDGEncoding()</literal>
557 </entry>
558 <entry>
559 encoding for anti-particle of this particle
560 </entry>
561 </row>
562 </tbody>
563</tgroup>
564</table>
565</para>
566
567<para>
568<xref linkend="table.Parti_2" /> shows the methods of
569<emphasis>G4ParticleDefinition</emphasis> for
570getting information about decay modes and the life time of the
571particle.
572
573<table id="table.Parti_2">
574<title>
575Methods to get particle decay modes and life time.
576</title>
577
578<tgroup cols="2">
579 <tbody>
580 <row>
581 <entry>
582 <literal>G4bool GetPDGStable()</literal>
583 </entry>
584 <entry>
585 stable flag
586 </entry>
587 </row>
588 <row>
589 <entry>
590 <literal>G4double GetPDGLifeTime()</literal>
591 </entry>
592 <entry>
593 life time
594 </entry>
595 </row>
596 <row>
597 <entry>
598 <literal>G4DecayTable* GetDecayTable()</literal>
599 </entry>
600 <entry>
601 decay table
602 </entry>
603 </row>
604 </tbody>
605</tgroup>
606</table>
607</para>
608
609<para>
610Users can modify these properties, though the other properties
611listed above can not be change without rebuilding the
612libraries.
613</para>
614
615<para>
616Each particle has its own <emphasis>G4ProcessManger</emphasis>
617object that manages a list of processes applicable to the
618particle.(see <xref linkend="sect.HowToSpecPhysProc.ManagingProc"/> )
619</para>
620
621
622</sect3>
623</sect2>
624
625
626<!-- ******************* Section (Level#2) ****************** -->
627<sect2 id="sect.Parti.Dynam">
628<title>
629Dynamic particle
630</title>
631
632<para>
633The <emphasis>G4DynamicParticle</emphasis> class has kinematics information for
634the particle and is used for describing the dynamics of physics
635processes. The properties in <emphasis>G4DynamicParticle</emphasis> are listed in
636<xref linkend="table.Parti_4" />.
637
638<table id="table.Parti_4">
639<title>
640Methods to set/get cut off values.
641</title>
642
643<tgroup cols="2">
644 <tbody>
645 <row>
646 <entry>
647 <literal>G4double theDynamicalMass</literal>
648 </entry>
649 <entry>
650 dynamical mass
651 </entry>
652 </row>
653 <row>
654 <entry>
655 <literal>G4ThreeVector theMomentumDirection</literal>
656 </entry>
657 <entry>
658 normalized momentum vector
659 </entry>
660 </row>
661 <row>
662 <entry>
663 <literal>G4ParticleDefinition* theParticleDefinition</literal>
664 </entry>
665 <entry>
666 definition of particle
667 </entry>
668 </row>
669 <row>
670 <entry>
671 <literal>G4double theDynamicalSpin</literal>
672 </entry>
673 <entry>
674 dynamical spin
675 (i.e. total angular momentum as a ion/atom )
676 </entry>
677 </row>
678 <row>
679 <entry>
680 <literal>G4ThreeVector thePolarization</literal>
681 </entry>
682 <entry>
683 polarization vector
684 </entry>
685 </row>
686 <row>
687 <entry>
688 <literal>G4double theMagneticMoment</literal>
689 </entry>
690 <entry>
691 dynamical magnetic moment
692 (i.e. total magnetic moment as a ion/atom )
693 </entry>
694 </row>
695 <row>
696 <entry>
697 <literal>G4double theKineticEnergy</literal>
698 </entry>
699 <entry>
700 kinetic energy
701 </entry>
702 </row>
703 <row>
704 <entry>
705 <literal>G4double theProperTime</literal>
706 </entry>
707 <entry>
708 proper time
709 </entry>
710 </row>
711 <row>
712 <entry>
713 <literal>G4double theDynamicalCharge</literal>
714 </entry>
715 <entry>
716 dynamical electric charge
717 (i.e. total electric charge as a ion/atom )
718 </entry>
719 </row>
720 <row>
721 <entry>
722 <literal>G4ElectronOccupancy* theElectronOccupancy</literal>
723 </entry>
724 <entry>
725 electron orbits for ions
726 </entry>
727 </row>
728 </tbody>
729</tgroup>
730</table>
731</para>
732
733<para>
734Here, the dynamical mass is defined as the mass for the dynamic
735particle. For most cases, it is same as the mass defined in
736<emphasis>G4ParticleDefinition</emphasis> class ( i.e. mass value given by
737<literal>GetPDGMass()</literal> method). However, there are two
738exceptions.
739
740<itemizedlist spacing="compact">
741 <listitem><para>
742 resonance particle
743 </para></listitem>
744 <listitem><para>
745 ions
746 </para></listitem>
747</itemizedlist>
748</para>
749
750<para>
751Resonance particles have large mass width and the total energy of
752decay products at the center of mass system can be different event
753by event.
754</para>
755
756<para>
757As for ions, <emphasis>G4ParticleDefintion</emphasis> defines a nucleus and
758<emphasis>G4DynamicParticle</emphasis> defines an atom.
759<emphasis>G4ElectronOccupancy</emphasis> describes state of orbital electrons.
760So, the dynamic mass can be different from the PDG mass by the mass
761of electrons (and their binding energy). In addition, the dynamical
762charge, spin and magnetic moment are those of the atom/ion
763(i.e. including nucleus and orbit electrons).
764</para>
765
766<para>
767Decay products of heavy flavor particles are given in many event
768generators. In such cases, <emphasis>G4VPrimaryGenerator</emphasis> sets this
769information in <literal>*thePreAssignedDecayProducts</literal>. In addition,
770decay time of the particle can be set arbitrarily time by using
771<literal>PreAssignedDecayProperTime</literal>.
772</para>
773
774
775</sect2>
776</sect1>
Note: See TracBrowser for help on using the repository browser.