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

Last change on this file since 1345 was 904, checked in by garnier, 16 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.