Ignore:
Timestamp:
Nov 30, 2009, 3:52:24 PM (15 years ago)
Author:
garnier
Message:

CVS update

Location:
trunk/documents/UserDoc
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/documents/UserDoc

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml

    r904 r1208  
    99<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
    1010<!--    Changed by: Hisaya Kurashige, 01-Dec-2007             -->
     11<!--    Changed by: Hisaya Kurashige, 18-Nov-2009             -->
    1112<!--                                                          -->
    1213<!-- ******************************************************** -->
     
    5657the different categories relevant to transporting a particle (for
    5758example, geometry and interactions in matter). Its public method
    58 <literal>Stepping()</literal> steers the stepping of the particle. The
    59 algorithm to handle one step is given below.
     59<literal>Stepping()</literal> steers the stepping of the particle.
     60The algorithm to handle one step is given below.
    6061
    6162<orderedlist spacing="compact">
    6263  <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
    6670  <listitem><para>
    6771    Each active discrete or continuous process must propose a step
     
    6973    step lengths is taken.
    7074  </para></listitem>
     75
    7176  <listitem><para>
    7277    The geometry navigator calculates "Safety", the distance to the
     
    7681    geometrical calculations will be performed.
    7782  </para></listitem>
     83
    7884  <listitem><para>
    7985    If the minimum physical-step-length from the processes is
     
    8187    re-calculated.
    8288  </para></listitem>
     89
    8390  <listitem><para>
    8491    The smaller of the minimum physical-step-length and the
    8592    geometric step length is taken.
    8693  </para></listitem>
     94
    8795  <listitem><para>
    8896    All active continuous processes are invoked. Note that the
     
    9199    sum of the contributions from these processes.
    92100  </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
    97102  <listitem><para>
    98103    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:
    101107    <itemizedlist spacing="compact">
    102108      <listitem><para>
    103109        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)
    107112      </para></listitem>
    108113      <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.
    110135      </para></listitem>
    111136    </itemizedlist>
    112137  </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
    128139  <listitem><para>
    129140    The track is checked to see whether or not it has been
    130141    terminated by the discrete process.
    131142  </para></listitem>
     143
    132144  <listitem><para>
    133145    "Safety" is updated.
    134146  </para></listitem>
     147
    135148  <listitem><para>
    136149    If the step was limited by the volume boundary, push the
    137150    particle into the next volume.
    138151  </para></listitem>
     152
    139153  <listitem><para>
    140154    Invoke the user intervention <emphasis>G4UserSteppingAction</emphasis>.
    141155  </para></listitem>
     156
    142157  <listitem><para>
    143158    Handle hit information.
    144159  </para></listitem>
     160
    145161  <listitem><para>
    146162    Save data to Trajectory.
    147163  </para></listitem>
     164
    148165  <listitem><para>
    149166    Update the mean free paths of the discrete processes.
    150167  </para></listitem>
     168
    151169  <listitem><para>
    152170    If the parent particle is still alive, reset the maximum
    153171    interaction length of the discrete process which has occurred.
    154172  </para></listitem>
     173
    155174  <listitem><para>
    156175    One step completed.
    157176  </para></listitem>
     177
    158178</orderedlist>
    159179</para>
     180
     181
     182<!-- ******* Bridgehead ******* -->
     183<bridgehead renderas='sect4'>
     184What is a Process?
     185</bridgehead>
     186
     187<para>
     188Only processes can change information of <emphasis>G4Track</emphasis>
     189and add secondary tracks via <literal>ParticleChange</literal>.
     190<emphasis>G4VProcess</emphasis> is a base class of all processes and
     191it has 3 kinds of  <literal>DoIt</literal> and 
     192<literal>GetPhysicalInteraction</literal> methods in order to
     193describe interactions generically.
     194If a user want to modify information of <emphasis>G4Track</emphasis>,
     195he (or she) SHOULD create a special process for the purpose and
     196register the process to the particle.
     197</para>
     198
     199<!-- ******* Bridgehead ******* -->
     200<bridgehead renderas='sect4'>
     201What 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'
     207information (i.e. mass, charge, life and so on) also. 
     208Note that <emphasis>G4Track</emphasis> keeps information at the beginning
     209of the step while the <literal>AlongStepDoIt</literal>s are being
     210invoked for the step in progress.After finishing all
     211<literal>AlongStepDoIt</literal>s, <emphasis>G4Track</emphasis>
     212is updated.
     213On the other hand, <emphasis>G4Track</emphasis> is
     214updated after each invocation of a <literal>PostStepDoIt</literal>.
     215</para>
     216
    160217
    161218<!-- ******* Bridgehead ******* -->
     
    176233<!-- ******* Bridgehead ******* -->
    177234<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>
     235What is a ParticleChange?
     236</bridgehead>
     237
     238<para>
     239Processes do NOT change any information of <emphasis>G4Track</emphasis>
     240directly in their <literal>DoIt</literal>. Instead, they proposes
     241changes as a result of interactions
     242by using <literal>ParticleChange</literal>.
     243After each <literal>DoIt</literal>, <literal>ParticleChange</literal>
     244updates <literal>PostStepPoint</literal> based on proposed changes.
     245Then, <emphasis>G4Track</emphasis> is updated
     246after finishing all <literal>AlongStepDoIt</literal>s and
     247after each <literal>PostStepDoIt</literal>.
     248</para>
     249
     250
    191251
    192252</sect2>
     
    459519<para>
    460520Secondary particles are passed as <emphasis>G4Track</emphasis>s from a physics
    461 process to tracking. <emphasis>G4ParticleChange</emphasis> provides the following
     521process to tracking.
     522<emphasis>G4ParticleChange</emphasis> provides the following
    462523four methods for a physics process:
    463524
     
    481542<para>
    482543In all but the first, the construction of <emphasis>G4Track</emphasis> is done in
    483 the methods using informaton given by the arguments.
     544the methods using information given by the arguments.
    484545</para>
    485546
     
    511572kernel at specific points in the tracking. For details, see the
    512573<emphasis role="bold">Software Reference Manual</emphasis>.
     574</para>
     575
     576<para>
     577<emphasis role="bold">Note:</emphasis>
     578Users SHOULD NOT (and CAN NOT) change <emphasis>G4Track</emphasis>
     579in  <literal>UserSteppingAction</literal>.
     580Only the exception is the <literal>TrackStatus</literal>.
    513581</para>
    514582
Note: See TracChangeset for help on using the changeset viewer.