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

CVS update

Location:
trunk/documents/UserDoc
Files:
30 added
60 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/AllResources

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

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

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

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/electroMagneticField.src

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/hit.src

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/persistency.src

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

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

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

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

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks

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

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

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

    • Property svn:ignore set to
      CVS
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Visualization/visualization.src

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

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

    r904 r1208  
    7575   <listitem><para>
    7676     <ulink url="http://www.lcsim.org/docs/gettingstarted/geant4msvc++/net2005/index.htm">
    77      Building a MSVC++ Visual Studio 2005 Geant4 project</ulink>.
     77     Building a MSVC++ Visual Studio 2005 Geant4 project</ulink> (setup no longer supported).
    7878   </para></listitem>
    7979</itemizedlist>
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/developmentDebugTools.xml

    r904 r1208  
    6969  </para></listitem>
    7070  <listitem><para>
    71     <ulink url="http://www.ibm.com/software/rational/">
    72     Rational Rose
     71    <ulink url="http://www.sparxsystems.com.au/products/ea/">
     72    Enterprise Architect
    7373    </ulink>
    74     CASE tool.
     74    UML Visual Modeling tool.
    7575  </para></listitem>
    7676  <listitem><para>
    7777    <ulink url="http://www.borland.com/us/products/together/index.html">
    78     Together ControlCenter
     78    Borland Together
    7979    </ulink>
    80     development environment.
    81   </para></listitem>
    82   <listitem><para>
    83     <ulink url="http://www.telelogic.com/products/logiscope/index.cfm">
    84     Logiscope
    85     </ulink>
    86     tool for metrics analysis.
     80    Visual Modeling for Software Architecture Design tool.
    8781  </para></listitem>
    8882</itemizedlist>
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/histogramming.xml

    r904 r1208  
    1717toolkit has no drivers for histogramming, and no drivers are needed
    1818in Geant4 to use a histogramming package. The code for generating
    19 histograms should be compliant with the
     19histograms on some of the distributed examples should be compliant
     20with the
    2021<ulink url="http://aida.freehep.org/">
    2122AIDA
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/makeFile.xml

    r904 r1208  
    6262To build a single library (or a set of sub-libraries) or an
    6363executable, you must explicitly change your current directory to
    64 the one you're interested in and invoke the "<literal>gmake</literal>"
    65 command from there ("<literal>gmake global</literal>" for building a
     64the one you're interested in and invoke the "<literal>make</literal>"
     65command from there ("<literal>make global</literal>" for building a
    6666compound library). Here is a list of the basic commands or GNUmake
    6767"targets" one can invoke to build libraries and/or executables:
     
    6969<itemizedlist spacing="compact">
    7070  <listitem><para>
    71     <literal>gmake</literal>
     71    <literal>make</literal>
    7272    <para>
    7373    starts the compilation process for building a kernel library or a
     
    8484  </para></listitem>
    8585  <listitem><para>
    86     <literal>gmake global</literal>
     86    <literal>make global</literal>
    8787    <para>
    8888    starts the compilation process to build a single compound kernel
    89     library per category. If issued after "gmake", both 'granular' and
     89    library per category. If issued after "make", both 'granular' and
    9090    'compound' libraries will be available (NOTE: this will
    9191    consistently increase the disk space required. Compound libraries
     
    9595  </para></listitem>
    9696  <listitem><para>
    97     <literal>gmake bin</literal> or <literal>gmake</literal> (only for
     97    <literal>make bin</literal> or <literal>make</literal> (only for
    9898    examples/)
    9999    <para>
     
    214214    </term>
    215215    <listitem>
    216       Defines the path where the Geant4 toolkit should be installed. It
     216      Defines the path where the Geant4 toolkit is located. It
    217217      should be set by the system installer. By default, it sets to
    218218      <literal>$HOME/geant4</literal>, assuming the Geant4 distribution
     
    281281    </term>
    282282    <listitem>
    283       Used by the system to specify the place where to store libraries.
     283      Used by the system to specify the place where to install libraries.
    284284      By default they're set to <literal>$G4INSTALL/lib</literal> and
    285285      <literal>$G4LIB/$G4SYSTEM</literal> respectively.
     
    310310  <varlistentry>
    311311    <term>
    312       $G4EXEC_BUILD
    313     </term>
    314     <listitem>
    315       Flag specifying if to use a secondary template repository or not
    316       for handling template instantiations at the time of building a user
    317       application/example. For internal category tests in Geant4, this
    318       variable is already in the related GNUmakefile. It's however not
    319       needed for examples and tests in <literal>$G4INSTALL/examples</literal>,
    320       where class names are already mangled and different each other. It
    321       applies only on those compilers which make use of template
    322       repositories (see Appendix A.2 of this Guide). The secondary
    323       template repository is set to <literal>$G4TREP/exec</literal>.
    324     </listitem>
    325   </varlistentry>
    326   <varlistentry>
    327     <term>
    328312      $G4DEBUG
    329313    </term>
     
    337321  <varlistentry>
    338322    <term>
     323      $G4OPTDEBUG
     324    </term>
     325    <listitem>
     326      Only available for the <literal>g++</literal> compiler, specifies to
     327      compile the code (libraries or examples) in optimised mode, but
     328      including symbolic information in the object code for debugging.
     329    </listitem>
     330  </varlistentry>
     331  <varlistentry>
     332    <term>
    339333      $G4NO_OPTIMISE
    340334    </term>
     
    342336      Specifies to compile the code (libraries or examples) without
    343337      compiler optimisation.
    344     </listitem>
    345   </varlistentry>
    346   <varlistentry>
    347     <term>
    348       $G4OPTDEBUG
    349     </term>
    350     <listitem>
    351       On <literal>Linux</literal> systems with the <literal>g++</literal>
    352       compiler, it allows to build in optimised mode including symbolic
    353       information for debugging.
    354338    </listitem>
    355339  </varlistentry>
     
    792776      the built-in system library for compression is adopted instead. Setting
    793777      this flag will also implicitely set the flag below.
     778      On Windows systems, if OpenGL or OpenInventor visualization drivers
     779      are built, this module is automatically built.
    794780    </listitem>
    795781  </varlistentry>
     
    897883    <listitem>
    898884      Path to nuclear shell effects data set for INCL/ABLA hadronic model.
     885    </listitem>
     886  </varlistentry>
     887  <varlistentry>
     888    <term>
     889      $G4REALSURFACEDATA
     890    </term>
     891    <listitem>
     892      Path to the data set for measured optical surface reflectance for
     893      precise optical physics.
    899894    </listitem>
    900895  </varlistentry>
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/tipsCompilation.xml

    r904 r1208  
    2929more or less perfomant and more or less optimised, depending on
    3030several factors also related to the system architecture which it
    31 applies to. A peculiarity of C++ compilers nowadays is the way
    32 templated instances are treated during the compilation/linkage
    33 process. Some C++ compilers need to store temporarily template
    34 instantiation files (object files or temporary source code files)
    35 in a "template repository" or directory that can be specified as
    36 unique or not directly from the compilation command (probably
    37 historically coming from the old cfront-based implementation of the
    38 C++ compiler).
     31applies to.
    3932</para>
    4033
     
    4336always distinguish between the installation directory (identified
    4437by $G4INSTALL) and the working directory (identified by
    45 $G4WORKDIR), in order not to alter the installation area for the
    46 template repository.
     38$G4WORKDIR), in order not to alter the installation area.
    4739</para>
    48 
    49 <para>
    50 In Geant4, the path to the template repository (for those
    51 compilers which make use of it) is specified by the environment
    52 variable $G4TREP, which is fixed and points by default to
    53 <literal>$G4WORKDIR/tmp/$G4SYSTEM/g4.ptrepository/</literal>, where
    54 <literal>$G4SYSTEM</literal> identifies the system-architecture/compiler
    55 currently used and <literal>$G4WORKDIR</literal> is the path to the user
    56 working directory for Geant4.
    57 </para>
    58 
    59 <para>
    60 A secondary template repository <literal>$G4TREP/exec</literal> is
    61 created by default and can be used when building executables to
    62 isolate the main repository used for building the libraries in case
    63 of clashes provoked by conflicting class-names. This secondary
    64 template repository can be activated by defining in the environment
    65 (or in the GNUmakefile related to the test/example to be built) the
    66 flag <literal>G4EXEC_BUILD</literal>; once activated, the secondary
    67 repository will become the read/write one, while the primary
    68 repository will be considered read-only.
    69 </para>
    70 
    71 <para>
    72 At the current time, only few compilers still make use of a
    73 template repository. A good recommendation valid in general such
    74 compilers is to make use of a single template repository (specified
    75 by the <literal>$G4TREP</literal> environment variable) for building all
    76 Geant4 libraries; then use a secondary template repository
    77 (<literal>$G4TREP/exec</literal>, together with the
    78 <literal>$G4EXEC_BUILD</literal> flag) when building any kind of example or
    79 application.
    80 </para>
    81 
    82 <para>
    83 It's always good practise to clean-up the secondary template
    84 repository from time to time.
    85 </para>
    86 
    8740
    8841<!-- ******************* Section (Level#2) ****************** -->
     
    10457compiler flags), also code is compiled with high verbosity
    10558diagnostics (<literal>-Wall</literal> flag). The default optimisation level
    106 is <literal>-O2</literal>.
     59is <literal>-O2</literal>. The flag <literal>G4OPTDEBUG</literal>, if set
     60in the environment, allows for optimised build of the libraries but
     61including debug symbols (<literal>-O -g</literal> compilation option).
    10762</para>
    10863
     
    173128<para>
    174129The setup adopted for the <literal>g++</literal> compiler on MacOS
    175 resembles in great part the one for Linux systems.
     130resembles in most parts the one for Linux systems.
    176131</para>
    177132
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography

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

    r921 r1208  
    3131  </authorgroup>
    3232
    33   <pubdate>19 December, 2008</pubdate>
    34   <releaseinfo>Version: geant4 9.2</releaseinfo>
     33  <pubdate>2 June, 2009</pubdate>
     34  <releaseinfo>Version: geant4 9.2 Revision01</releaseinfo>
    3535
    3636</bookinfo>
     
    5050&appendix;
    5151&bibliography;
    52 
    5352</book>
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control

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

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

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

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

    r904 r1208  
    2828&faqUserSupportPolicy;
    2929
    30 
    3130</chapter>
    3231<!-- /appendix -->
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/geometry.xml

    r904 r1208  
    1414
    1515<qandaset defaultlabel="qanda">
     16
    1617
    1718<!-- ******* QandA Entry ******** -->
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/installation.xml

    r904 r1208  
    1414
    1515<qandaset defaultlabel="qanda">
     16
    1617
    1718<!-- ******* QandA Entry ******** -->
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/physicsAndCuts.xml

    r904 r1208  
    1414
    1515<qandaset defaultlabel="qanda">
     16
    1617
    1718<!-- ******* QandA Entry ******** -->
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/runTimeProblems.xml

    r904 r1208  
    1414
    1515<qandaset defaultlabel="qanda">
     16
    1617
    1718<!-- ******* QandA Entry ******** -->
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/tracksAndSteps.xml

    r904 r1208  
    1414
    1515<qandaset defaultlabel="qanda">
     16
    1617
    1718<!-- ******* QandA Entry ******** -->
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/userSupportPolicy.xml

    r904 r1208  
    1414
    1515<qandaset defaultlabel="qanda">
     16
    1617
    1718<!-- ******* QandA Entry ******** -->
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/visualization.xml

    r904 r1208  
    1414
    1515<qandaset defaultlabel="qanda">
     16
    1617
    1718<!-- ******* QandA Entry ******** -->
     
    3637      if set.
    3738    </para></listitem>
     39    <listitem><para>
    3840      Verify and eventually set the environment variables of the
    3941      visualization module [name] concerned (setenv or export both
     
    5658      gmake
    5759      </programlisting></informalexample>
     60    </para></listitem>
    5861  </itemizedlist>
    5962
     
    6366
    6467
     68<!-- ******* QandA Entry ******** -->
     69<qandaentry  id="qanda.Vis.BooleanProc">
     70
     71<question><para>
     72  While visualizing my geometry setup I often see the following error
     73  message printed out:
     74
     75  <informalexample><programlisting>
     76  BooleanProcessor: boolean operation failed .
     77  </programlisting></informalexample>
     78</para></question>
     79
     80<answer><para>
     81  There is a known limitation for the visualization of Boolean solids
     82  in the so-called BooleanProcessor which is used to make polyhedra
     83  for visualisation. It does not affect the tracking which is done
     84  through such solids. So the error message you see does not affect
     85  the simulation in any way. The workaround is to move one of the
     86  affected solids by a small distance in order to avoid shared surfaces.
     87</para></answer>
     88
     89</qandaentry>
     90
     91
    6592</qandaset>
    6693</section>
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals

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

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

    r904 r1208  
    99<!--    Changed by: Hisaya Kurashige, 18-Jan-2007             -->
    1010<!--    Changed by: Hisaya Kurashige, 1-Dec-2007              -->
     11<!--    modified 2.4.2 by: Hisaya Kurashige, 23-Nov-2009      -->
    1112<!--                                                          -->
    1213<!-- ******************************************************** -->
     
    161162<para>
    162163The unique object for each particle class is created when its static
    163 method to get the pointer is called iat the first time.
     164method to get the pointer is called at the first time.
    164165Because particles are dynamic objects and should be instantiated before
    165166initialization of physics processes,
     
    343344takes care of this sequence in usual applications.
    344345</para>
     346<para>
     347This range cut value is converted threshold energies
     348for each material and for each particle type (i.e. electron,
     349positron and gamma)
     350so that the particle with threshold energy stops (or is absorbed)
     351after traveling the range cut distance.   
     352In addition, from the 9.3 release ,this range cut value is applied
     353to the proton as production thresholds of nuclei for  hadron
     354elastic processes. In this case, the range cut value does not means
     355the distance of traveling. Threshold energies are calculated
     356by a simple formula from the cut in range.
     357</para>
     358
     359<para>
     360Note that the upper limit of the threshold energy is defined as 10
     361GeV. If you want to set higher threshold energy, you can change
     362the limit by using "/cuts/setMaxCutEnergy" command before setting
     363the range cut.
     364</para>
    345365
    346366<para>
     
    349369coherent manner. For most applications, users need to determine
    350370only one cut value in range, and apply this value to gammas,
    351 electrons and positrons alike.
    352 </para>
    353 
    354 <para>
    355 In such a case, the <literal>SetCutsWithDefault()</literal> method may be
     371electrons and positrons alike. (and proton too)
     372</para>
     373
     374<para>
     375In such case, the <literal>SetCutsWithDefault()</literal> method may be
    356376used. It is provided by the <literal>G4VuserPhysicsList</literal> base class,
    357377which has a <literal>defaultCutValue</literal> member as the default range
     
    403423<para>
    404424The <literal>SetDefaultCutValue()</literal> method in
    405 <literal>G4VUserPhysicsList</literal> may also be used, and the "/run/setCut"
    406 command may be used to change the default cut value
    407 interactively.
     425<literal>G4VUserPhysicsList</literal> may also be used,
     426and the "/run/setCut" command may be used
     427to change the default cut value interactively.
     428</para>
     429
     430<para>
     431You can set different cut values in range for different
     432particle types. The "/run/setCutForAGivenParticle"  command
     433may be used interactively.
    408434</para>
    409435
     
    429455  SetCutValue(cutForElectron, "e-");
    430456  SetCutValue(cutForElectron, "e+");
     457  SetCutValue(cutForProton,   "proton");
    431458}
    432459</programlisting>
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction

    • 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/physicsProcess.xml

    r921 r1208  
    24102410</para>
    24112411
     2412<para>
     2413Branching ratios and life time can be set in tracking time.
     2414<informalexample>
     2415<programlisting>
     2416  // set lifetime
     2417  G4Neutron::Neutron()->SetPDGLifeTime(885.7*second);
     2418  // allow neutron decay
     2419  G4Neutron::Neutron()->SetPDGStable(false);
     2420</programlisting>
     2421</informalexample>
     2422
     2423Branching ratios and life time can be modified by using user commands, also.
     2424  <listitem><para>
     2425    <emphasis role="bold">Example:
     2426    Set 100% br for dalitz decay of pi0</emphasis>
     2427    <para>
     2428    <literal>Idle&gt;> /particle/select pi0</literal>
     2429    <literal>Idle&gt;> /particle/property/decay/select 0</literal>
     2430    <literal>Idle> /particle/property/decay/br 0</literal>
     2431    <literal>Idle> /particle/property/decay/select 1</literal>
     2432    <literal>Idle> /particle/property/decay/br 1</literal>
     2433    <literal>Idle> /particle/property/decay/dump</literal>
     2434    <literal>G4DecayTable:  pi0</literal>
     2435    <literal>0:  BR:  0  [Phase Space]   :   gamma gamma</literal>
     2436    <literal>1:  BR:  1  [Dalitz Decay]   :   gamma e- e+</literal>
     2437    </para>
     2438  </para></listitem>
     2439</para>
     2440
    24122441</sect3>
    24132442
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/thresholdVScut.xml

    r904 r1208  
    310310    </programlisting>
    311311    </informalexample>
     312    and in <literal>PhysicsList</literal>, the process
     313    <literal>G4StepLimiter</literal> needs to be attached to each
     314    particle's process manager where step limitation in the Tracker region
     315    is required:
     316    <informalexample>
     317    <programlisting>
     318       // Step limitation seen as a process
     319       G4StepLimiter* stepLimiter = new G4StepLimiter();
     320       pmanager-&gt;AddDiscreteProcess(StepLimiter);
     321    </programlisting>
     322    </informalexample>
    312323    </para>
    313324    <para>
  • 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
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions

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

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

    r904 r1208  
    66<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
    77<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
     8<!--    Corrected Get methods: Joseph Perl, 17-Mar-2009       -->
    89<!--                                                          -->
    910<!-- ******************************************************** -->
     
    363364  void MyEventAction::EndOfEventAction()
    364365  {
    365     const G4Event* evt = fpEventManager-&gt;get_const_currentEvent();
    366 
    367     G4SDManager * SDman = G4SDManager::get_SDMpointer();
     366    const G4Event* evt = fpEventManager-&gt;GetConstCurrentEvent();
     367
     368    G4SDManager * SDman = G4SDManager::GetSDMpointer();
    368369    G4String colNam;
    369     G4int trackerCollID = SDman-&gt;get_collectionID(colNam="TrackerCollection");
    370     G4int calorimeterCollID = SDman-&gt;get_collectionID(colNam="CalCollection");
    371 
    372     G4TrajectoryContainer * trajectoryContainer = evt-&gt;get_trajectoryContainer();
     370    G4int trackerCollID = SDman-&gt;GetCollectionID(colNam="TrackerCollection");
     371    G4int calorimeterCollID = SDman-&gt;GetCollectionID(colNam="CalCollection");
     372
     373    G4TrajectoryContainer * trajectoryContainer = evt-&gt;GetTrajectoryContainer();
    373374    G4int n_trajectories = 0;
    374375    if(trajectoryContainer)
    375376    { n_trajectories = trajectoryContainer-&gt;entries(); }
    376377
    377     G4HCofThisEvent * HCE = evt-&gt;get_HCofThisEvent();
     378    G4HCofThisEvent * HCE = evt-&gt;GetHCofThisEvent();
    378379    G4int n_hitCollection = 0;
    379380    if(HCE)
    380     { n_hitCollection = HCE-&gt;get_capacity(); }
     381    { n_hitCollection = HCE-&gt;GetCapacity(); }
    381382 
    382383    G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
     
    391392      for(G4int i=0; i &lt; n_trajectories; i++)
    392393      {
    393           (*(evt-&gt;get_trajectoryContainer()))[i]-&gt;DrawTrajectory();
     394          (*(evt-&gt;GetTrajectoryContainer()))[i]-&gt;DrawTrajectory();
    394395      }
    395396
    396397      // Construct 3D data for hits
    397398      MyTrackerHitsCollection* THC
    398         = (MyTrackerHitsCollection*)(HCE-&gt;get_HC(trackerCollID));
     399        = (MyTrackerHitsCollection*)(HCE-&gt;GetHC(trackerCollID));
    399400      if(THC) THC-&gt;DrawAllHits();
    400401      MyCalorimeterHitsCollection* CHC
    401         = (MyCalorimeterHitsCollection*)(HCE-&gt;get_HC(calorimeterCollID));
     402        = (MyCalorimeterHitsCollection*)(HCE-&gt;GetHC(calorimeterCollID));
    402403      if(CHC) CHC-&gt;DrawAllHits();
    403404
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/enhanceddrawing.xml

    r904 r1208  
    8181      </entry>
    8282      <entry>
    83         0
     83        2 pixels or mm*
     84      </entry>
     85    </row>
     86    <row>
     87      <entry>
     88        Auxiliary point size type
     89      </entry>
     90      <entry>
     91        screen
    8492      </entry>
    8593    </row>
     
    129137      </entry>
    130138      <entry>
    131         0
     139        2 pixels or mm*
     140      </entry>
     141    </row>
     142    <row>
     143      <entry>
     144        Step point size type
     145      </entry>
     146      <entry>
     147        screen
    132148      </entry>
    133149    </row>
     
    167183  </tgroup>
    168184</informaltable>
     185</para>
     186
     187<para>
     188* Depending on size type.  If size type == screen, pixels are assumed and no unit need be supplied.  If size type == world, a unit must be supplied, e.g., 10 cm.
    169189</para>
    170190
     
    176196    The context approach is intended to replace the configuration
    177197    through the imode parameter. The use of imode is depreciated and
    178     will be removed in Geant4 v9.0.
     198    will be removed in Geant4 v10.0.
    179199  </para></listitem>
    180200  <listitem><para>
     
    581601
    582602<para>
    583 To draw by time, you need to use a trajectory that records the
    584 track time at the beginning and end of each step. To do this, write
    585 a tracking action that sets G4RichTrajectory, for example:
    586 
    587 <informalexample>
    588 <programlisting>
    589 #include "G4UserTrackingAction.hh"
    590 class G4Track;
    591 class MyTrackingAction : public G4UserTrackingAction
    592 {
    593    public:
    594    virtual void PreUserTrackingAction(const G4Track* aTrack);
    595 };
    596 #include "G4RichTrajectory.hh"
    597 #include "G4TrackingManager.hh"
    598 #include "G4IdentityTrajectoryFilter.hh"
    599 #include "G4TransportationManager.hh"
    600 #include "G4PropagatorInField.hh"
    601 void MyTrackingAction::PreUserTrackingAction(const G4Track* aTrack)
    602 {
    603   // Require rich trajectory...
    604   fpTrackingManager-&gt;SetTrajectory(new G4RichTrajectory(aTrack));
    605 
    606   // Activate storing of auxiliary points for smoother trajectory...
    607   static G4IdentityTrajectoryFilter curvedFilter;
    608   G4TransportationManager::GetTransportationManager()-&gt;
    609     GetPropagatorInField()-&gt;SetTrajectoryFilter(&amp;curvedFilter);
    610 }
    611 </programlisting>
    612 </informalexample>
    613 
    614 and register an instance of this with the run manager (this can be
    615 done once and for all as soon as the run manager is instantiated,
    616 probably in your main program):
    617 
    618 <informalexample>
    619 <programlisting>
    620 #include "MyTrackingAction.hh"
    621 ...
    622   runManager -&gt; SetUserAction (new MyTrackingAction);
     603To draw by time, you need to use G4RichTrajectory, for example:
     604
     605<informalexample>
     606<programlisting>
     607/vis/scene/add/trajectories rich
     608</programlisting>
     609</informalexample>
     610
     611or
     612
     613<informalexample>
     614<programlisting>
     615/vis/scene/add/trajectories rich smooth
    623616</programlisting>
    624617</informalexample>
     
    648641/vis/open OGLSX
    649642/vis/drawVolume
    650 /vis/scene/add/trajectories
     643/vis/scene/add/trajectories rich
    651644/vis/ogl/set/startTime 0.5 ns
    652645/vis/ogl/set/endTime 0.8 ns
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor

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

    • Property svn:ignore set to
      CVS
Note: See TracChangeset for help on using the changeset viewer.