Changeset 1208 for trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml
- Timestamp:
- Nov 30, 2009, 3:52:24 PM (15 years ago)
- Location:
- trunk/documents/UserDoc
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/documents/UserDoc
-
Property
svn:ignore
set to
CVS
-
Property
svn:ignore
set to
-
trunk/documents/UserDoc/DocBookUsersGuides
-
Property
svn:ignore
set to
CVS
-
Property
svn:ignore
set to
-
trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper
-
Property
svn:ignore
set to
CVS
-
Property
svn:ignore
set to
-
trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml
-
Property
svn:ignore
set to
CVS
-
Property
svn:ignore
set to
-
trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics
-
Property
svn:ignore
set to
CVS
-
Property
svn:ignore
set to
-
trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml
r904 r1208 9 9 <!-- Converted to DocBook: Katsuya Amako, Aug-2006 --> 10 10 <!-- Changed by: Hisaya Kurashige, 01-Dec-2007 --> 11 <!-- Changed by: Hisaya Kurashige, 18-Nov-2009 --> 11 12 <!-- --> 12 13 <!-- ******************************************************** --> … … 56 57 the different categories relevant to transporting a particle (for 57 58 example, geometry and interactions in matter). Its public method 58 <literal>Stepping()</literal> steers the stepping of the particle. The59 algorithm to handle one step is given below.59 <literal>Stepping()</literal> steers the stepping of the particle. 60 The algorithm to handle one step is given below. 60 61 61 62 <orderedlist spacing="compact"> 62 63 <listitem><para> 63 The particle's velocity at the beginning of the step is 64 calculated. 65 </para></listitem> 64 If the particle stop (i.e. zero kinetic energy), each active atRest 65 process proposes a step length in time based on the interaction 66 it describes. And the process proposing the smallest step length 67 will be invoked. 68 </para></listitem> 69 66 70 <listitem><para> 67 71 Each active discrete or continuous process must propose a step … … 69 73 step lengths is taken. 70 74 </para></listitem> 75 71 76 <listitem><para> 72 77 The geometry navigator calculates "Safety", the distance to the … … 76 81 geometrical calculations will be performed. 77 82 </para></listitem> 83 78 84 <listitem><para> 79 85 If the minimum physical-step-length from the processes is … … 81 87 re-calculated. 82 88 </para></listitem> 89 83 90 <listitem><para> 84 91 The smaller of the minimum physical-step-length and the 85 92 geometric step length is taken. 86 93 </para></listitem> 94 87 95 <listitem><para> 88 96 All active continuous processes are invoked. Note that the … … 91 99 sum of the contributions from these processes. 92 100 </para></listitem> 93 <listitem><para> 94 The track is checked to see whether or not it has been 95 terminated by a continuous process. 96 </para></listitem> 101 97 102 <listitem><para> 98 103 The current track properties are updated before discrete 99 processes are invoked. This includes: 100 104 processes are invoked. In the same time, the secondary 105 particles created by processes are stored in SecondaryList. 106 The updated properties are: 101 107 <itemizedlist spacing="compact"> 102 108 <listitem><para> 103 109 updating the kinetic energy of the current track particle (note 104 that 'sumEnergyChange' is the sum of the new kinetic energy after 105 each continuos process was invoked, and NOT the sum of the energy 106 difference before and after the process invocation) and 110 that 'sumEnergyChange' is the sum of the energy difference 111 before and after each process invocation) 107 112 </para></listitem> 108 113 <listitem><para> 109 updating position and time. 114 updating position and time 115 </para></listitem> 116 </itemizedlist> 117 </para></listitem> 118 119 <listitem><para> 120 The kinetic energy of the particle is checked to see whether 121 or not it has been terminated by a continuous process. 122 If the kinetic energy goes down to zero, atRest processes 123 will be applied at the next step if applicable. 124 </para></listitem> 125 126 <listitem><para> 127 The discrete process is invoked. After the invocation, 128 <itemizedlist spacing="compact"> 129 <listitem><para> 130 the energy, position and time of the current track particle 131 are updated, and 132 </para></listitem> 133 <listitem><para> 134 the secondaries are stored in SecondaryList. 110 135 </para></listitem> 111 136 </itemizedlist> 112 137 </para></listitem> 113 <listitem><para> 114 The discrete process is invoked. After the invocation, 115 116 <itemizedlist spacing="compact"> 117 <listitem><para> 118 the energy of the current track particle is updated, and 119 </para></listitem> 120 <listitem><para> 121 the secondaries from ParticleChange are stored in 122 SecondaryList. This includes constructing "G4Track" objects, and 123 setting their member data. Note that the stepping manager is 124 responsible for deleting secodaries from ParticleChange. 125 </para></listitem> 126 </itemizedlist> 127 </para></listitem> 138 128 139 <listitem><para> 129 140 The track is checked to see whether or not it has been 130 141 terminated by the discrete process. 131 142 </para></listitem> 143 132 144 <listitem><para> 133 145 "Safety" is updated. 134 146 </para></listitem> 147 135 148 <listitem><para> 136 149 If the step was limited by the volume boundary, push the 137 150 particle into the next volume. 138 151 </para></listitem> 152 139 153 <listitem><para> 140 154 Invoke the user intervention <emphasis>G4UserSteppingAction</emphasis>. 141 155 </para></listitem> 156 142 157 <listitem><para> 143 158 Handle hit information. 144 159 </para></listitem> 160 145 161 <listitem><para> 146 162 Save data to Trajectory. 147 163 </para></listitem> 164 148 165 <listitem><para> 149 166 Update the mean free paths of the discrete processes. 150 167 </para></listitem> 168 151 169 <listitem><para> 152 170 If the parent particle is still alive, reset the maximum 153 171 interaction length of the discrete process which has occurred. 154 172 </para></listitem> 173 155 174 <listitem><para> 156 175 One step completed. 157 176 </para></listitem> 177 158 178 </orderedlist> 159 179 </para> 180 181 182 <!-- ******* Bridgehead ******* --> 183 <bridgehead renderas='sect4'> 184 What is a Process? 185 </bridgehead> 186 187 <para> 188 Only processes can change information of <emphasis>G4Track</emphasis> 189 and add secondary tracks via <literal>ParticleChange</literal>. 190 <emphasis>G4VProcess</emphasis> is a base class of all processes and 191 it has 3 kinds of <literal>DoIt</literal> and 192 <literal>GetPhysicalInteraction</literal> methods in order to 193 describe interactions generically. 194 If a user want to modify information of <emphasis>G4Track</emphasis>, 195 he (or she) SHOULD create a special process for the purpose and 196 register the process to the particle. 197 </para> 198 199 <!-- ******* Bridgehead ******* --> 200 <bridgehead renderas='sect4'> 201 What is a Track? 202 </bridgehead> 203 204 <para> 205 <emphasis>G4Track</emphasis> keeps 'current' information of the particle. 206 (i.e. energy,momentum, position ,time and so on) and has 'static' 207 information (i.e. mass, charge, life and so on) also. 208 Note that <emphasis>G4Track</emphasis> keeps information at the beginning 209 of the step while the <literal>AlongStepDoIt</literal>s are being 210 invoked for the step in progress.After finishing all 211 <literal>AlongStepDoIt</literal>s, <emphasis>G4Track</emphasis> 212 is updated. 213 On the other hand, <emphasis>G4Track</emphasis> is 214 updated after each invocation of a <literal>PostStepDoIt</literal>. 215 </para> 216 160 217 161 218 <!-- ******* Bridgehead ******* --> … … 176 233 <!-- ******* Bridgehead ******* --> 177 234 <bridgehead renderas='sect4'> 178 What is a Track? 179 </bridgehead> 180 181 <para> 182 <emphasis>G4Track</emphasis> keeps information on the final status of the 183 particle after the completion of one step. This means that 184 <emphasis>G4Track</emphasis> has information on the previous step while the 185 <literal>AlongStepDoIt</literal>s are being invoked for the step in progress. 186 Only after finishing all <literal>AlongStepDoIt</literal>s, will 187 <emphasis>G4Track</emphasis> have the final information (e.g., the final 188 position) for the step in progress. Also, <emphasis>G4Track</emphasis> will be 189 updated after each invocation of a <literal>PostStepDoIt</literal>. 190 </para> 235 What is a ParticleChange? 236 </bridgehead> 237 238 <para> 239 Processes do NOT change any information of <emphasis>G4Track</emphasis> 240 directly in their <literal>DoIt</literal>. Instead, they proposes 241 changes as a result of interactions 242 by using <literal>ParticleChange</literal>. 243 After each <literal>DoIt</literal>, <literal>ParticleChange</literal> 244 updates <literal>PostStepPoint</literal> based on proposed changes. 245 Then, <emphasis>G4Track</emphasis> is updated 246 after finishing all <literal>AlongStepDoIt</literal>s and 247 after each <literal>PostStepDoIt</literal>. 248 </para> 249 250 191 251 192 252 </sect2> … … 459 519 <para> 460 520 Secondary particles are passed as <emphasis>G4Track</emphasis>s from a physics 461 process to tracking. <emphasis>G4ParticleChange</emphasis> provides the following 521 process to tracking. 522 <emphasis>G4ParticleChange</emphasis> provides the following 462 523 four methods for a physics process: 463 524 … … 481 542 <para> 482 543 In all but the first, the construction of <emphasis>G4Track</emphasis> is done in 483 the methods using informat on given by the arguments.544 the methods using information given by the arguments. 484 545 </para> 485 546 … … 511 572 kernel at specific points in the tracking. For details, see the 512 573 <emphasis role="bold">Software Reference Manual</emphasis>. 574 </para> 575 576 <para> 577 <emphasis role="bold">Note:</emphasis> 578 Users SHOULD NOT (and CAN NOT) change <emphasis>G4Track</emphasis> 579 in <literal>UserSteppingAction</literal>. 580 Only the exception is the <literal>TrackStatus</literal>. 513 581 </para> 514 582
Note: See TracChangeset
for help on using the changeset viewer.