[1208] | 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> |
---|
| 96 | This list includes all particles in Geant4 and you can see |
---|
| 97 | properties 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> |
---|
| 105 | Here is a list of particles in Geant4. This list is generated automatically |
---|
| 106 | by using Geant4 functionality, |
---|
| 107 | so 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> |
---|