Ignore:
Timestamp:
Dec 7, 2009, 12:15:45 PM (15 years ago)
Author:
garnier
Message:

CVS update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml

    r1208 r1211  
    793793
    794794<para>
    795 The following is a summary of the Low Energy Electromagnetic
    796 processes available in Geant4. Further information is available in
    797 the web
    798 <ulink url="http://geant4.web.cern.ch/geant4/collaboration/working_groups/LEelectromagnetic/index.shtml">pages
     795A physical interaction is described by a process class which can handle
     796physics models, described by model classes. The following is a summary
     797of the Low Energy Electromagnetic physics models available in Geant4.
     798Further information is available in the web pages of the
     799Geant4 Low Energy Electromagnetic Physics Working Group, accessible
     800from the Geant4 web site, “who we are” section, then “working groups”.
     801</para>
     802
     803<para>
     804The physics content of these models is documented in the Geant4
     805<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
     806Physics Reference Manual.
    799807</ulink>
    800 of the Geant4 Low Energy Electromagnetic Physics Working Group.
    801 The physics content of these processes is documented in Geant4
    802 <ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
    803 Physics Reference Manual
    804 </ulink>
    805 </para>
     808They are based on the Livermore data library, on the
     809ICRU73 data tables or on the Penelope Monte Carlo code. They adopt the
     810same software design as the "standard" Geant4 electromagnetic models.
     811</para>
     812
     813<para>
     814Examples of the registration of physics constructor with low-energy
     815electromagnetic models are shown in Geant4 extended examples
     816(<literal>$G4INSTALL/examples/extended/electromagnetic</literal>).
     817Advanced examples (<literal>$G4INSTALL/examples/advanced</literal>)
     818illustrate alternative instantiation of these processes.
     819Both are available as part of the Geant4 release.
     820</para>
     821
     822<para>
     823To use the low energy electromagnetic models, data files need to be
     824copied by the user to his/her code repository. These files are
     825distributed together with Geant4. The user should set the environment
     826variable G4LEDATA to the directory where he/she has copied the files.
     827</para>
     828
     829<!-- ******************* Section (Level#4) ****************** -->
     830<sect4 id="sect.PhysProc.EleMag.LowE.Livemore">
     831<title>
     832Livermore based models
     833</title>
    806834
    807835<para>
    808836<itemizedlist spacing="compact">
    809837  <listitem><para>
    810     <emphasis role="bold">Photon processes</emphasis>
     838    <emphasis role="bold">Photon models</emphasis>
    811839    <itemizedlist spacing="compact">
    812840      <listitem><para>
    813         Compton scattering (class <emphasis>G4LowEnergyCompton</emphasis>)
    814       </para></listitem>
    815       <listitem><para>
    816         Polarized Compton scattering (class
    817         <emphasis>G4LowEnergyPolarizedCompton</emphasis>)
    818       </para></listitem>
    819       <listitem><para>
    820         Rayleigh scattering (class <emphasis>G4LowEnergyRayleigh</emphasis>)
    821       </para></listitem>
    822       <listitem><para>
    823         Gamma conversion (also called pair production, class
    824         <emphasis>G4LowEnergyGammaConversion</emphasis>)
    825       </para></listitem>
    826       <listitem><para>
    827         Photo-electric effect (class<emphasis>G4LowEnergyPhotoElectric</emphasis>)
    828       </para></listitem>
    829       </itemizedlist>
    830   </para></listitem>
    831   <listitem><para>
    832     <emphasis role="bold">Electron processes</emphasis>
     841        Photo-electric effect (class <emphasis>G4LivermorePhotoElectricModel</emphasis>)
     842      </para></listitem>
     843      <listitem><para>
     844        Polarized Photo-electric effect (class <emphasis>G4LivermorePolarizedPhotoElectricModel</emphasis>)
     845      </para></listitem>
     846      <listitem><para>
     847        Compton scattering (class <emphasis>G4LivermoreComptonModel</emphasis>)
     848      </para></listitem>
     849      <listitem><para>
     850        Polarized Compton scattering (class <emphasis>G4LivermorePolarizedComptonModel</emphasis>)
     851      </para></listitem>
     852      <listitem><para>
     853        Rayleigh scattering (class <emphasis>G4LivermoreRayleighModel</emphasis>)
     854      </para></listitem>
     855      <listitem><para>
     856        Polarized Rayleigh scattering (class <emphasis>G4LivermorePolarizedRayleighModel</emphasis>)
     857      </para></listitem>
     858      <listitem><para>
     859        Gamma conversion (also called pair production, class <emphasis>G4LivermoreGammaConversionModel</emphasis>)
     860      </para></listitem>
     861      <listitem><para>
     862        Polarized gamma conversion (class <emphasis>G4LivermorePolarizedGammaConversionModel</emphasis>)
     863      </para></listitem>
     864    </itemizedlist>
     865  </para></listitem>
     866  <listitem><para>
     867    <emphasis role="bold">Electron models</emphasis>
    833868    <itemizedlist spacing="compact">
    834869      <listitem><para>
    835         Bremsstrahlung (class <emphasis>G4LowEnergyBremsstrahlung</emphasis>)
    836       </para></listitem>
    837       <listitem><para>
    838         Ionisation and delta ray production (class
    839         <emphasis>G4LowEnergyIonisation</emphasis>)
     870         Bremsstrahlung (class <emphasis>G4LivermoreBremsstrahlungModel</emphasis>)
     871      </para></listitem>
     872      <listitem><para>
     873         Ionisation and delta ray production (class <emphasis>G4LivermoreIonisationModel</emphasis>)
    840874      </para></listitem>
    841875    </itemizedlist>
    842876  </para></listitem>
    843   <listitem><para>
    844     <emphasis role="bold">Hadron and ion processes</emphasis>
     877</itemizedlist>
     878</para>
     879
     880<para>
     881Options can be set in the G4LivermorePhotoElectricModel class, that allow
     882the use of alternative photoelectron angular generators:
     883
     884<itemizedlist spacing="compact">
     885  <listitem><para>     
     886    SetAngularGenerator(G4VPhotoElectricAngularDistribution* distribution);
     887  </para></listitem>
     888  <listitem><para>
     889    SetAngularGenerator(const G4String&amp; name);     
     890  </para></listitem>
     891</itemizedlist>
     892</para>
     893
     894<para>
     895Currently three angular generators are available:
     896G4PhotoElectricAngularGeneratorSimple, G4PhotoElectricAngularGeneratorSauterGavrilla
     897and G4PhotoElectricAngularGeneratorPolarized.
     898G4PhotoElectricAngularGeneratorSauterGavrilla is selected by default.
     899G4PhotoElectricAngularGeneratorSimple, G4PhotoElectricAngularGeneratorSauterGavrilla
     900and G4PhotoElectricAngularGeneratorPolarized can be set using respectively the
     901strings "default", "standard" and "polarized".
     902</para>
     903
     904<para>
     905Options are available in the G4LivermoreBremsstrahlungModel class, that allow
     906the use of alternative bremsstrahlung angular generators:
     907<itemizedlist spacing="compact">
     908  <listitem><para>     
     909    SetAngularGenerator(G4VBremAngularDistribution* distribution);
     910  </para></listitem>
     911  <listitem><para>     
     912    SetAngularGenerator(const G4String&amp; name);
     913  </para></listitem>
     914</itemizedlist>
     915</para>
     916
     917<para>
     918Currently three angular generators are available: G4ModifiedTsai,
     9192BNGenerator and 2BSGenerator. G4ModifiedTsai is set by default, but it
     920can be forced using the string "tsai". 2BNGenerator and 2BSGenerator
     921can be set using the strings "2bs" and "2bn". Information regarding
     922conditions of use, performance and energy
     923limits of different models are available in the Physics Reference Manual .
     924</para>
     925
     926<para>
     927Other options G4LivermoreBremsstrahlungModel class are:
     928
     929<itemizedlist spacing="compact">
     930  <listitem><para>     
     931    SetCutForLowEnSecPhotons(G4double)
     932  </para></listitem>
     933</itemizedlist>
     934</para>
     935
     936<para>
     937Options are available in the G4LivermoreIonisationModel class:
     938
     939<itemizedlist spacing="compact">
     940  <listitem><para>     
     941    ActivateAuger(G4bool)
     942  </para></listitem>
     943  <listitem><para>     
     944    SetCutForLowEnSecPhotons(G4double) 
     945  </para></listitem>
     946  <listitem><para>     
     947    SetCutForLowEnSecElectrons(G4double)
     948  </para></listitem>
     949</itemizedlist>
     950</para>
     951
     952</sect4>
     953
     954
     955<!-- ******************* Section (Level#4) ****************** -->
     956<sect4 id="sect.PhysProc.EleMag.LowE.ICRU73">
     957<title>
     958ICRU73 based ion model
     959</title>
     960
     961<para>
     962Ionisation and delta ray production (class G4IonParametrisedLossModel)
     963</para>
     964
     965<para>
     966The ion model uses ICRU 73 stopping powers, if corresponding ion-material
     967combinations are covered by the ICRU 73 report (up to 1 GeV/nucleon), and
     968otherwise applies a Bethe-Bloch based formalism. For compounds, ICRU 73
     969stopping powers are employed if the material name coincides with the name
     970of Geant4 NIST materials (e.g. G4_WATER). Elemental materials are matched
     971to the corresponding ICRU 73 stopping powers by means of the atomic number
     972of the material. The material name may be arbitrary in this case. For a
     973list of applicable materials, the user is referred to the ICRU 73 report.
     974</para>
     975
     976<para>
     977The model requires data files to be copied by the user to his/her code
     978repository. These files are distributed together with the Geant4 release.
     979The user should set the environment variable G4LEDATA to the directory where
     980he/she has copied the files.
     981</para>
     982
     983<para>
     984The model is dedicated to be used with the G4ionIonisation process and its
     985applicability is restricted to G4GenericIon particles. The ion model is
     986not used by default by this process and must be instantiated and registered
     987by the user:
     988
     989<informalexample>
     990<programlisting>
     991G4ionIonisation* ionIoni = new G4ionIonisation();
     992ionIoni -> SetEmModel(new G4IonParametrisedLossModel());
     993</programlisting>
     994</informalexample>
     995</para>
     996
     997</sect4>
     998
     999<!-- ******************* Section (Level#4) ****************** -->
     1000<sect4 id="sect.PhysProc.EleMag.LowE.Penelope">
     1001<title>
     1002Penelope based models
     1003</title>
     1004
     1005<para>
     1006<itemizedlist spacing="compact">
     1007  <listitem><para>
     1008    <emphasis role="bold">Photon models</emphasis>
    8451009    <itemizedlist spacing="compact">
    8461010      <listitem><para>
    847         Ionisation and delta ray production (class
    848         <emphasis>G4hLowEnergyIonisation</emphasis>)
    849       </para></listitem>
    850       </itemizedlist>
     1011        Compton scattering (class <emphasis>G4PenelopeComptonModel</emphasis>)
     1012      </para></listitem>
     1013      <listitem><para>
     1014        Rayleigh scattering (class <emphasis>G4PenelopeRayleighModel</emphasis>)
     1015      </para></listitem>
     1016      <listitem><para>
     1017        Gamma conversion (also called pair production, class <emphasis>GPenelopeGammaConversionModel</emphasis>)
     1018      </para></listitem>
     1019      <listitem><para>
     1020        Photo-electric effect (class <emphasis>G4PenelopePhotoElectricModel</emphasis>)
     1021      </para></listitem>
     1022    </itemizedlist>
     1023  </para></listitem>
     1024  <listitem><para>
     1025    <emphasis role="bold">Electron models</emphasis>
     1026    <itemizedlist spacing="compact">
     1027      <listitem><para>
     1028         Bremsstrahlung (class <emphasis>G4PenelopeBremsstrahlungModel</emphasis>)
     1029      </para></listitem>
     1030      <listitem><para>
     1031         Ionisation and delta ray production (class <emphasis>G4PenelopeIonisationModel</emphasis>)
     1032      </para></listitem>
     1033    </itemizedlist>
     1034  </para></listitem>
     1035  <listitem><para>
     1036    <emphasis role="bold">Positron models</emphasis>
     1037    <itemizedlist spacing="compact">
     1038      <listitem><para>
     1039         Bremsstrahlung (class <emphasis>G4PenelopeBremsstrahlungModel</emphasis>)
     1040      </para></listitem>
     1041      <listitem><para>
     1042         Ionisation and delta ray production (class <emphasis>G4PenelopeIonisationModel</emphasis>)
     1043      </para></listitem>
     1044      <listitem><para>
     1045         Positron annihilation (class <emphasis>class G4PenelopeAnnihilationModel</emphasis>)
     1046      </para></listitem>
     1047    </itemizedlist>
    8511048  </para></listitem>
    8521049</itemizedlist>
     
    8541051
    8551052<para>
    856 Examples of the registration of physics constructor with low-energy
    857 electromagnetic processes are shown
    858 in Geant4 extended examples ($G4INSTALL/examples/extended/electromagnetic).
    859 <emphasis role="bold">Advanced examples</emphasis> illustrating alternative instantiation
    860 of these processes. Both are available as part of the Geant4
    861 <ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
    862 release</ulink>.
    863 </para>
    864 
    865 <para>
    866 To run the Low Energy code for photon and electron
    867 electromagnetic processes, <emphasis role="bold">
    868 <ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
    869 data files
    870 </ulink>
    871 </emphasis>
    872 need to be copied by the user to his/her code
    873 repository. These files are distributed together with Geant4.
    874 The user should set the environment variable
    875 <emphasis role="bold">G4LEDATA</emphasis> to the
    876 directory where he/she has copied the files.
    877 </para>
    878 
    879 <para>
    880 <emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
    881 processes for hadrons and ions in terms of public member functions
    882 of the G4hLowEnergyIonisation class:
     1053All Penelope models can be applied up to a maximum energy of 100 GeV,
     1054although it is advisable not to use them above a few hundreds of MeV.
     1055</para>
     1056
     1057<para>
     1058Options are available in the all Penelope Models, allowing to set
     1059(and retrieve) the verbosity level of the model, namely the amount of
     1060information which is printed on the screen.
    8831061
    8841062<itemizedlist spacing="compact">
    885    <listitem><para>
    886      SetHighEnergyForProtonParametrisation(G4double)
    887    </para></listitem>
    888    <listitem><para>
    889      SetLowEnergyForProtonParametrisation(G4double)
    890    </para></listitem>
    891    <listitem><para>
    892      SetHighEnergyForAntiProtonParametrisation(G4double)
    893    </para></listitem>
    894    <listitem><para>
    895      SetLowEnergyForAntiProtonParametrisation(G4double)
    896    </para></listitem>
    897    <listitem><para>
    898      SetElectronicStoppingPowerModel(const G4ParticleDefinition*,const G4String&amp; )
    899    </para></listitem>
    900    <listitem><para>
    901      SetNuclearStoppingPowerModel(const G4String&amp;)
    902    </para></listitem>
    903    <listitem><para>
    904      SetNuclearStoppingOn()
    905    </para></listitem>
    906    <listitem><para>
    907      SetNuclearStoppingOff()
    908    </para></listitem>
    909    <listitem><para>
    910      SetBarkasOn()
    911    </para></listitem>
    912    <listitem><para>
    913      SetBarkasOff()
    914    </para></listitem>
    915    <listitem><para>
    916      SetFluorescence(const G4bool)
    917    </para></listitem>
    918    <listitem><para>
    919      ActivateAugerElectronProduction(G4bool)
    920    </para></listitem>
    921    <listitem><para>
    922      SetCutForSecondaryPhotons(G4double)
    923    </para></listitem>
    924    <listitem><para>
    925      SetCutForSecondaryElectrons(G4double)
    926    </para></listitem>
     1063  <listitem><para>     
     1064    SetVerbosityLevel(G4int)
     1065  </para></listitem>
     1066  <listitem><para>     
     1067    GetVerbosityLevel()
     1068  </para></listitem>
    9271069</itemizedlist>
    9281070</para>
    9291071
    9301072<para>
    931 <emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
    932 processes for electrons in the G4LowEnergyIonisation class:
     1073The default verbosity level is 0 (namely, no textual output on the screen).
     1074The default value should be used in general for normal runs. Higher
     1075verbosity levels are suggested only for testing and debugging purposes.
     1076</para>
     1077
     1078<para>
     1079The verbosity scale defined for all Penelope processes is the following:
    9331080
    9341081<itemizedlist spacing="compact">
    935    <listitem><para>
    936      ActivateAuger(G4bool)
    937    </para></listitem>
    938    <listitem><para>
    939      SetCutForLowEnSecPhotons(G4double)
    940    </para></listitem>
    941    <listitem><para>
    942      SetCutForLowEnSecElectrons(G4double)
    943    </para></listitem>
     1082  <listitem><para>     
     1083    0 = no printout on the screen (default)
     1084  </para></listitem>
     1085  <listitem><para>     
     1086    1 = issue warnings only in the case of energy non-conservation in the final state (should never happen)
     1087  </para></listitem>
     1088  <listitem><para>     
     1089    2 = reports full details on the energy budget in the final state
     1090  </para></listitem>
     1091  <listitem><para>     
     1092    3 = writes also informations on cross section calculation, data file opening and sampling of atoms
     1093  </para></listitem>
     1094  <listitem><para>     
     1095    4 = issues messages when entering in methods
     1096  </para></listitem>
    9441097</itemizedlist>
    9451098</para>
    9461099
    9471100<para>
    948 <emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
    949 processes for electrons/positrons in the G4LowEnergyBremsstrahlung
    950 class, that allow the use of alternative bremsstrahlung angular
    951 generators:
     1101Options are available in G4PenelopeComptonModel, G4PenelopePhotoElectricModel
     1102and G4PenelopeIonisationModel to enable or disable the usage of atomic
     1103de-excitation via the G4AtomicDeexcitation module.
    9521104
    9531105<itemizedlist spacing="compact">
    954    <listitem><para>
    955      SetAngularGenerator(G4VBremAngularDistribution* distribution);
    956    </para></listitem>
    957    <listitem><para>
    958      SetAngularGenerator(const G4String&amp; name);
    959    </para></listitem>
     1106  <listitem><para>     
     1107    SetDeexcitationFlag(G4bool)
     1108  </para></listitem>
     1109  <listitem><para>     
     1110    DeexcitationFlag()
     1111  </para></listitem>
    9601112</itemizedlist>
    9611113</para>
    9621114
    9631115<para>
    964 Currently three angular generators are available: G4ModifiedTsai,
    965 2BNGenerator and 2BSGenerator. G4ModifiedTsai is set by default,
    966 but it can be forced using the string "tsai". 2BNGenerator and
    967 2BSGenerator can be set using the strings "2bs" and "2bn".
    968 Information regarding conditions of use, performance and energy
    969 limits of different models are available in the
    970 <ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
    971 Physics Reference Manual
    972 </ulink>.
    973 </para>
    974 
    975 <para>
    976 Other <emphasis role="bold">options</emphasis> G4LowEnergyBremsstrahlung class are:
    977 
    978 <itemizedlist spacing="compact">
    979    <listitem><para>
    980      SetCutForLowEnSecPhotons(G4double)
    981    </para></listitem>
    982 </itemizedlist>
    983 </para>
    984 
    985 <para>
    986 <emphasis role="bold">Options</emphasis> can also be set in the G4LowEnergyPhotoElectric
    987 class, that allow the use of alternative photoelectron angular
    988 generators:
    989 
    990 <itemizedlist spacing="compact">
    991    <listitem><para>
    992      SetAngularGenerator(G4VPhotoElectricAngularDistribution* distribution);
    993    </para></listitem>
    994    <listitem><para>
    995      SetAngularGenerator(const G4String&amp; name);
    996    </para></listitem>
    997    <listitem><para>
    998      
    999    </para></listitem>
    1000    <listitem><para>
    1001      
    1002    </para></listitem>
    1003    <listitem><para>
    1004      
    1005    </para></listitem>
    1006 </itemizedlist>
    1007 </para>
    1008 
    1009 <para>
    1010 Currently three angular generators are available:
    1011 G4PhotoElectricAngularGeneratorSimple,
    1012 G4PhotoElectricAngularGeneratorSauterGavrilla and
    1013 G4PhotoElectricAngularGeneratorPolarized.
    1014 G4PhotoElectricAngularGeneratorSimple is set by default, but it can
    1015 be forced using the string "default".
    1016 G4PhotoElectricAngularGeneratorSauterGavrilla and
    1017 G4PhotoElectricAngularGeneratorPolarized can be set using the
    1018 strings "standard" and "polarized".
    1019 </para>
    1020 
     1116The default is “true”, namely vacancies in atomic shells produced by the
     1117interaction are handled by the G4AtomicDeexcitation module, possibly with
     1118the subsequent emission of fluorescence x-rays. If is set to “false”
     1119by the user, the energy released in the re-arrangement of atomic vacancies
     1120is treated in the model as a local energy deposit, without emission of
     1121secondary particles. The methods are actually inherited from G4VEmModel,
     1122so they work for all Penelope models; by the way, they have effect only
     1123in G4PenelopeComptonModel, G4PenelopePhotoElectricModel and
     1124G4PenelopeIonisationModel.
     1125</para>
     1126
     1127<para>
     1128An option is also available in these models to enable the production of
     1129Auger electrons by the G4AtomicDeexcitation module ActivateAuger(G4bool).
     1130The default (coming from G4AtomicDeexcitation) is “false”, namely only
     1131fluorescence x-rays are emitted but not Auger electrons. One should
     1132notice that this option has effect only if the usage of the atomic
     1133deexcitation is enabled. A warning message is printed if one tries to
     1134enable the emission of the Auger electrons after having disabled the
     1135atomic deexcitation via SetDeexcitationFlag(false).
     1136</para>
     1137
     1138</sect4>
    10211139</sect3>
     1140
     1141
    10221142
    10231143<!-- ******************* Section (Level#3) ****************** -->
     
    10281148
    10291149<para>
    1030 Geant4 low energy electromagnetic Physics processes have been extended down
    1031 to energies of a few electronVolts suitable for the simulation of radiation
    1032 effects in liquid water for applications at the cellular and sub-cellular
    1033 level. These developments take place in the framework of the Geant4-DNA
    1034 project and are described in the paper
    1035 <citation>
    1036 <xref linkend="biblio.chauvie2007" endterm="biblio.chauvie2007.abbrev" />
    1037 </citation>.
    1038 </para>
    1039 
    1040 <para>
    1041 Their implementation in Geant4 is based on the usage of innovative techniques
    1042 first introduced in Monte Carlo simulation (policy-based class design), to
    1043 ensure openness to future extension and evolution as well as flexibility of
    1044 configuration in user applications. In this new design, a generic Geant4-DNA
    1045 physics process is configured by template specialization in order to acquire
    1046 physical properties (cross section, final state), using policy classes :
    1047 a Cross Section policy class and a Final State policy class.
    1048 </para>
    1049 
    1050 <para>
    1051 These processes apply to electrons, protons, hydrogen, alpha particles and
    1052 their charge states.
    1053 </para>
     1150The Geant4 low energy electromagnetic Physics package has been extended
     1151down to energies of a few electronVolts suitable for the simulation of
     1152radiation effects in liquid water for applications in microdosimetry at
     1153the cellular and sub-cellular level. These developments take place in
     1154the framework of the on-going Geant4-DNA project (see the web pages
     1155of the
     1156<ulink url="http://geant4.web.cern.ch/geant4/collaboration/working_groups/LEelectromagnetic/">Geant4 Low Energy Electromagnetic Physics Working Group</ulink>).
     1157</para>
     1158
     1159<para>
     1160The Geant4-DNA process and model classes apply to electrons, protons,
     1161hydrogen, alpha particles and their charge states.
     1162</para>
     1163
    10541164
    10551165<!-- ******* Bridgehead ******* -->
    10561166<bridgehead renderas='sect4'>
    1057  Electron processes
     1167 Electron processes and models
    10581168</bridgehead>
    10591169<para>
    10601170<itemizedlist spacing="compact">
    10611171  <listitem><para>
    1062     Elastic scattering (two complementary models available depending on energy range, and one alternative model)
     1172    Elastic scattering :
    10631173    <itemizedlist spacing="compact">
    10641174      <listitem><para>
    1065         - 1) either : cross section policy class names : G4CrossSectionElasticScreenedRutherfordLE (below 200 eV)
    1066         and G4CrossSectionElasticScreenedRutherfordHE (above 200 eV). Both should be used together.
    1067         - 2) or : cross section policy class name : G4CrossSectionElasticChampion.       
    1068       </para></listitem>
    1069       <listitem><para>
    1070         - 1) either : final state policy class names : G4FinalStateElasticBrennerZaider (corresponding to G4CrossSectionElasticScreenedRutherfordLE)
    1071         and G4CrossSectionElasticScreenedRutherfordLE (corresponding to G4CrossSectionElasticScreenedRutherfordHE).
    1072         - 2) or final state policy class name : G4FinalStateElasticChampion (corresponding to G4CrossSectionElasticChampion).       
     1175        process class is G4DNAElastic
     1176      </para></listitem>
     1177      <listitem><para>
     1178        two alternative model classes are : G4DNAScreenedRutherfordElasticModel
     1179        or G4DNAChampionElasticModel
    10731180      </para></listitem>
    10741181    </itemizedlist>
    10751182  </para></listitem>
    1076   <listitem><para>
    1077     Excitation (one model)
     1183
     1184  <listitem><para>
     1185    Excitation
    10781186    <itemizedlist spacing="compact">
    10791187      <listitem><para>
    1080         Cross section policy class name : G4CrossSectionExcitationEmfietzoglou 
    1081       </para></listitem>
    1082       <listitem><para>
    1083         Final state policy class name : G4FinalStateExcitationEmfietzoglou
     1188        process class is G4DNAExcitation 
     1189      </para></listitem>
     1190      <listitem><para>
     1191        model class is G4DNAEmfietzoglouExcitationModel
    10841192      </para></listitem>
    10851193    </itemizedlist>
    10861194  </para></listitem>
    1087   <listitem><para>
    1088     Ionisation (one model)   
     1195
     1196  <listitem><para>
     1197    Ionisation
    10891198    <itemizedlist spacing="compact">
    10901199      <listitem><para>
    1091         Cross section policy class name : G4CrossSectionIonisationBorn 
    1092       </para></listitem>
    1093       <listitem><para>
    1094         Final state policy class names : G4FinalStateIonisationBorn
     1200        process class is G4DNAIonisation
     1201      </para></listitem>
     1202      <listitem><para>
     1203        model class is G4DNABornIonisationModel
    10951204      </para></listitem>
    10961205    </itemizedlist>
     
    11011210<!-- ******* Bridgehead ******* -->
    11021211<bridgehead renderas='sect4'>
    1103  Proton processes
     1212 Proton processes and models
    11041213</bridgehead>
    11051214<para>
    11061215<itemizedlist spacing="compact">
    11071216  <listitem><para>
    1108     Excitation  (two complementary models available depending on energy range)
     1217    Excitation
    11091218    <itemizedlist spacing="compact">
    11101219      <listitem><para>
    1111         Cross section policy class name : G4CrossSectionExcitationMillerGreen
    1112       </para></listitem>
    1113       <listitem><para>
    1114         Final state policy class name : G4FinalStateExcitationMillerGreen
    1115       </para></listitem>
    1116       <listitem><para>
    1117         Cross section policy class name : G4CrossSectionExcitationBorn
    1118       </para></listitem>
    1119       <listitem><para>
    1120         Final state policy class name : G4FinalStateExcitationBorn
     1220        process class is G4DNAExcitation
     1221      </para></listitem>
     1222      <listitem><para>
     1223        two complementary model classes are G4DNAMillerGreenExcitationModel
     1224        (below 500 keV) and G4DNABornExcitationModel (above)               
    11211225      </para></listitem>
    11221226    </itemizedlist>
    11231227  </para></listitem>
    1124   <listitem><para>
    1125     Ionisation (two complementary models available depending on energy range)
     1228
     1229  <listitem><para>
     1230    Ionisation
    11261231    <itemizedlist spacing="compact">
    11271232      <listitem><para>
    1128         Cross section policy class name : G4CrossSectionIonisationRudd
    1129       </para></listitem>
    1130       <listitem><para>
    1131         Final state policy class name : G4FinalStateIonisationRudd
    1132       </para></listitem>
    1133       <listitem><para>
    1134         Cross section policy class name : G4CrossSectionIonisationBorn
    1135       </para></listitem>
    1136       <listitem><para>
    1137         Final state policy class name : G4FinalStateIonisationBorn
     1233        process class is G4DNAIonisation
     1234      </para></listitem>
     1235      <listitem><para>
     1236        two complementary model classes are G4DNARuddIonisationModel
     1237        (below 500 keV) and G4DNABornIonisationModel (above)
    11381238      </para></listitem>
    11391239    </itemizedlist>
    11401240  </para></listitem>
    1141   <listitem><para>
    1142     Charge decrease (one model)
     1241
     1242  <listitem><para>
     1243    Charge decrease
    11431244    <itemizedlist spacing="compact">
    11441245      <listitem><para>
    1145         Cross section policy class name : G4CrossSectionChargeDecrease
    1146       </para></listitem>
    1147       <listitem><para>
    1148         Final state policy class name : G4FinalStateChargeDecrease
     1246        process class is G4DNAChargeDecrease
     1247      </para></listitem>
     1248      <listitem><para>
     1249        model class is G4DNADingfelderChargeDecreaseModel
    11491250      </para></listitem>
    11501251    </itemizedlist>
     
    11551256<!-- ******* Bridgehead ******* -->
    11561257<bridgehead renderas='sect4'>
    1157  Hydrogen processes
     1258 Hydrogen processes and models
    11581259</bridgehead>
    11591260<para>
    11601261<itemizedlist spacing="compact">
    11611262  <listitem><para>
    1162     Ionisation (one model)
     1263    Ionisation
    11631264    <itemizedlist spacing="compact">
    11641265      <listitem><para>
    1165         Cross section policy class name : G4CrossSectionIonisationRudd
    1166       </para></listitem>
    1167       <listitem><para>
    1168         Final state policy class name : G4FinalStateIonisationRudd
     1266        process class is G4DNAIonisation
     1267      </para></listitem>
     1268      <listitem><para>
     1269        model class is G4DNARuddIonisationModel       
    11691270      </para></listitem>
    11701271    </itemizedlist>
    11711272  </para></listitem>
    1172   <listitem><para>
    1173     Charge increase (one model)
     1273
     1274  <listitem><para>
     1275    Charge increase
    11741276    <itemizedlist spacing="compact">
    11751277      <listitem><para>
    1176         Cross section policy class name : G4CrossSectionChargeIncrease
    1177       </para></listitem>
    1178       <listitem><para>
    1179         Final state policy class name : G4FinalStateChargeIncrease
     1278        process class is G4DNAChargeIncrease
     1279      </para></listitem>
     1280      <listitem><para>
     1281        model class is G4DNADingfelderChargeIncreaseModel
    11801282      </para></listitem>
    11811283    </itemizedlist>
     
    11861288<!-- ******* Bridgehead ******* -->
    11871289<bridgehead renderas='sect4'>
    1188  Helium (neutral) processes
     1290 Helium (neutral) processes and models
    11891291</bridgehead>
    11901292<para>
    11911293<itemizedlist spacing="compact">
    11921294  <listitem><para>
    1193     Excitation (one model)
     1295    Excitation
    11941296    <itemizedlist spacing="compact">
    11951297      <listitem><para>
    1196         Cross section policy class name : G4CrossSectionExcitationMillerGreen
    1197       </para></listitem>
    1198       <listitem><para>
    1199         Final state policy class name : G4FinalStateExcitationMillerGreen
     1298        process class is G4DNAExcitation
     1299      </para></listitem>
     1300      <listitem><para>
     1301        model class is G4DNAMillerGreenExcitationModel       
    12001302      </para></listitem>
    12011303    </itemizedlist>
    12021304  </para></listitem>
    1203   <listitem><para>
    1204     Ionisation (one model)
     1305
     1306  <listitem><para>
     1307    Ionisation
    12051308    <itemizedlist spacing="compact">
    12061309      <listitem><para>
    1207         Cross section policy class name : G4CrossSectionIonisationRudd
    1208       </para></listitem>
    1209       <listitem><para>
    1210         Final state policy class name : G4FinalStateIonisationRudd
     1310        process class is G4DNAIonisation         
     1311      </para></listitem>
     1312      <listitem><para>
     1313        model class is G4DNARuddIonisationModel
    12111314      </para></listitem>
    12121315    </itemizedlist>
    12131316  </para></listitem>
    1214   <listitem><para>
    1215     Charge increase (one model)
     1317
     1318  <listitem><para>
     1319    Charge increase
    12161320    <itemizedlist spacing="compact">
    12171321      <listitem><para>
    1218         Cross section policy class name : G4CrossSectionChargeIncrease
    1219       </para></listitem>
    1220       <listitem><para>
    1221         Final state policy class name : G4FinalStateChargeIncrease
     1322        process class is G4DNAChargeIncrease
     1323      </para></listitem>
     1324      <listitem><para>
     1325        model class is G4DNADingfelderChargeIncreaseModel
    12221326      </para></listitem>
    12231327    </itemizedlist>
     
    12281332<!-- ******* Bridgehead ******* -->
    12291333<bridgehead renderas='sect4'>
    1230  Helium+ (ionized once) processes
     1334 Helium+ (ionized once) processes and models
    12311335</bridgehead>
    12321336<para>
    12331337<itemizedlist spacing="compact">
    12341338  <listitem><para>
    1235     Excitation (one model)
     1339    Excitation
    12361340    <itemizedlist spacing="compact">
    12371341      <listitem><para>
    1238         Cross section policy class name : G4CrossSectionExcitationMillerGreen
    1239       </para></listitem>
    1240       <listitem><para>
    1241         Final state policy class name : G4FinalStateExcitationMillerGreen
     1342        process class is G4DNAExcitation
     1343      </para></listitem>
     1344      <listitem><para>
     1345        model class is G4DNAMillerGreenExcitationModel
    12421346      </para></listitem>
    12431347    </itemizedlist>
    12441348  </para></listitem>
    1245   <listitem><para>
    1246     Ionisation (one model)
     1349
     1350  <listitem><para>
     1351    Ionisation
    12471352    <itemizedlist spacing="compact">
    12481353      <listitem><para>
    1249         Cross section policy class name : G4CrossSectionIonisationRudd
    1250       </para></listitem>
    1251       <listitem><para>
    1252         Final state policy class name : G4FinalStateIonisationRudd
     1354        process class is G4DNAIonisation
     1355      </para></listitem>
     1356      <listitem><para>
     1357        model classes is G4DNARuddIonisationModel
    12531358      </para></listitem>
    12541359    </itemizedlist>
    12551360  </para></listitem>
    1256   <listitem><para>
    1257     Charge increase (one model)
     1361
     1362  <listitem><para>
     1363    Charge increase
    12581364    <itemizedlist spacing="compact">
    12591365      <listitem><para>
    1260         Cross section policy class name : G4CrossSectionChargeIncrease
    1261       </para></listitem>
    1262       <listitem><para>
    1263         Final state policy class name : G4FinalStateChargeIncrease
     1366        process class is G4DNAChargeIncrease
     1367      </para></listitem>
     1368      <listitem><para>
     1369        model classes is G4DNADingfelderChargeIncreaseModel       
    12641370      </para></listitem>
    12651371    </itemizedlist>
    12661372  </para></listitem>
    1267   <listitem><para>
    1268     Charge decrease (one model) 
     1373
     1374  <listitem><para>
     1375    Charge decrease
    12691376    <itemizedlist spacing="compact">
    12701377      <listitem><para>
    1271         Cross section policy class name : G4CrossSectionChargeDecrease
    1272       </para></listitem>
    1273       <listitem><para>
    1274         Final state policy class name : G4FinalStateChargeDecrease
     1378        process class is G4DNAChargeDecrease
     1379      </para></listitem>
     1380      <listitem><para>
     1381        model classes is G4DNADingfelderChargeDecreaseModel
    12751382      </para></listitem>
    12761383    </itemizedlist>
     
    12811388<!-- ******* Bridgehead ******* -->
    12821389<bridgehead renderas='sect4'>
    1283  Helium++ (ionised twice) processes
     1390 Helium++ (ionised twice) processes and models
    12841391</bridgehead>
    12851392<para>
    12861393<itemizedlist spacing="compact">
    12871394  <listitem><para>
    1288     Excitation (one model)
     1395    Excitation
    12891396    <itemizedlist spacing="compact">
    12901397      <listitem><para>
    1291         Cross section policy class name : G4CrossSectionExcitationMillerGreen
    1292       </para></listitem>
    1293       <listitem><para>
    1294         Final state policy class name : G4FinalStateExcitationMillerGreen
     1398        process class is G4DNAExcitation
     1399      </para></listitem>
     1400      <listitem><para>
     1401        model classes is G4DNAMillerGreenExcitationModel       
    12951402      </para></listitem>
    12961403    </itemizedlist>
    12971404  </para></listitem>
    1298   <listitem><para>
    1299     Ionisation (one model)
     1405
     1406  <listitem><para>
     1407    Ionisation
    13001408    <itemizedlist spacing="compact">
    13011409      <listitem><para>
    1302         Cross section policy class name : G4CrossSectionIonisationRudd
    1303       </para></listitem>
    1304       <listitem><para>
    1305         Final state policy class name : G4FinalStateIonisationRudd
     1410        process class is G4DNAIonisation
     1411      </para></listitem>
     1412      <listitem><para>
     1413        model classes is G4DNARuddIonisationModel 
    13061414      </para></listitem>
    13071415    </itemizedlist>
    13081416  </para></listitem>
    1309   <listitem><para>
    1310     Charge decrease (one model)
     1417
     1418  <listitem><para>
     1419    Charge decrease
    13111420    <itemizedlist spacing="compact">
    13121421      <listitem><para>
    1313         Cross section policy class name : G4CrossSectionChargeDecrease
    1314       </para></listitem>
    1315       <listitem><para>
    1316         Final state policy class name : G4FinalStateChargeDecrease
     1422        process class is G4DNAChargeDecrease
     1423      </para></listitem>
     1424      <listitem><para>
     1425        model classes is G4DNADingfelderChargeDecreaseModel
    13171426      </para></listitem>
    13181427    </itemizedlist>
     
    13221431
    13231432<para>
    1324 An example of the registration of these processes in a physics list is given here below :
     1433An example of the registration of these processes in a physics list is
     1434given here below and may be found in the microdosimetry advanced example.
     1435
     1436
     1437<informalexample>
     1438<programlisting>
     1439#include "G4DNAElastic.hh"
     1440#include "G4DNAChampionElasticModel.hh"
     1441#include "G4DNAScreenedRutherfordElasticModel.hh"
     1442
     1443#include "G4DNAExcitation.hh"
     1444#include "G4DNAEmfietzoglouExcitationModel.hh"
     1445#include "G4DNAMillerGreenExcitationModel.hh"
     1446#include "G4DNABornExcitationModel.hh"
     1447
     1448#include "G4DNAIonisation.hh"
     1449#include "G4DNABornIonisationModel.hh"
     1450#include "G4DNARuddIonisationModel.hh"
     1451
     1452#include "G4DNAChargeDecrease.hh"
     1453#include "G4DNADingfelderChargeDecreaseModel.hh"
     1454
     1455#include "G4DNAChargeIncrease.hh"
     1456#include "G4DNADingfelderChargeIncreaseModel.hh"
     1457
     1458//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     1459
     1460void PhysicsList::ConstructEM()
     1461{
     1462  theParticleIterator-&gt;reset();
     1463
     1464  while( (*theParticleIterator)() )
     1465  {
     1466
     1467    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
     1468    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
     1469    G4String particleName = particle-&gt;GetParticleName();
     1470
     1471// DNA processes per particle type
     1472
     1473    if (particleName == "e-") {
     1474
     1475      G4DNAElastic* theDNAElasticProcess = new G4DNAElastic("e-_G4DNAElastic");
     1476      theDNAElasticProcess-&gt;SetModel(new G4DNAChampionElasticModel());
     1477      // or alternative model
     1478      // theDNAElasticProcess-&gt;SetModel(new G4DNAScreenedRutherfordElasticModel());
     1479      pmanager-&gt;AddDiscreteProcess(theDNAElasticProcess);
     1480
     1481      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("e-_G4DNAExcitation"));
     1482      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("e-_G4DNAIonisation"));
     1483           
     1484    } else if ( particleName == "proton" ) {
     1485
     1486      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("proton_G4DNAExcitation"));
     1487      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("proton_G4DNAIonisation"));
     1488      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeDecrease("proton_G4DNAChargeDecrease"));
     1489
     1490    } else if ( particleName == "hydrogen" ) {
     1491
     1492      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("hydrogen_G4DNAIonisation"));
     1493      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeIncrease("hydrogen_G4DNAChargeIncrease"));
     1494
     1495    } else if ( particleName == "alpha" ) {
     1496
     1497      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("alpha_G4DNAExcitation"));
     1498      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("alpha_G4DNAIonisation"));
     1499      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeDecrease("alpha_G4DNAChargeDecrease"));
     1500
     1501    } else if ( particleName == "alpha+" ) {
     1502
     1503      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("alpha+_G4DNAExcitation"));
     1504      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("alpha+_G4DNAIonisation"));
     1505      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeDecrease("alpha+_G4DNAChargeDecrease"));
     1506      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeIncrease("alpha+_G4DNAChargeIncrease"));
     1507           
     1508    } else if ( particleName == "helium" ) {
     1509
     1510      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("helium_G4DNAExcitation"));
     1511      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("helium_G4DNAIonisation"));
     1512      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeIncrease("helium_G4DNAChargeIncrease"));
     1513
     1514    }
     1515
     1516  } // Loop on particles
     1517}
     1518
     1519//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     1520</programlisting>
     1521</informalexample>
     1522</para>
     1523
     1524<para>
     1525Note that in the above example, "alpha" particles are helium atoms ionised
     1526twice and "helium" particles are neutral helium atoms. The definition of
     1527particles in the physics list may be for example implemented as follows :
    13251528
    13261529<informalexample>
     
    13281531//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    13291532
    1330 // Geant4 DNA header files
    1331 
    13321533#include "G4DNAGenericIonsManager.hh"
    1333 #include "G4FinalStateProduct.hh"
    1334 #include "G4DNAProcess.hh"
    1335 
    1336 #include "G4CrossSectionExcitationEmfietzoglou.hh"
    1337 #include "G4FinalStateExcitationEmfietzoglou.hh"
    1338 
    1339 #include "G4CrossSectionElasticScreenedRutherfordLE.hh"
    1340 #include "G4FinalStateElasticBrennerZaider.hh"
    1341 
    1342 #include "G4CrossSectionElasticScreenedRutherfordHE.hh"
    1343 #include "G4FinalStateElasticScreenedRutherford.hh"
    1344 
    1345 #include "G4CrossSectionElasticChampion.hh"
    1346 #include "G4FinalStateElasticChampion.hh"
    1347 
    1348 #include "G4CrossSectionExcitationBorn.hh"
    1349 #include "G4FinalStateExcitationBorn.hh"
    1350 
    1351 #include "G4CrossSectionIonisationBorn.hh"
    1352 #include "G4FinalStateIonisationBorn.hh"
    1353 
    1354 #include "G4CrossSectionIonisationRudd.hh"
    1355 #include "G4FinalStateIonisationRudd.hh"
    1356 
    1357 #include "G4CrossSectionExcitationMillerGreen.hh"
    1358 #include "G4FinalStateExcitationMillerGreen.hh"
    1359 
    1360 #include "G4CrossSectionChargeDecrease.hh"
    1361 #include "G4FinalStateChargeDecrease.hh"
    1362 
    1363 #include "G4CrossSectionChargeIncrease.hh"
    1364 #include "G4FinalStateChargeIncrease.hh"
    1365 
    1366 // Processes definition
    1367 
    1368 typedef G4DNAProcess&lt;G4CrossSectionElasticScreenedRutherfordLE,G4FinalStateElasticBrennerZaider&gt;
    1369   ElasticScreenedRutherfordLE;
    1370 typedef G4DNAProcess&lt;G4CrossSectionElasticScreenedRutherfordHE,G4FinalStateElasticScreenedRutherford&gt;
    1371   ElasticScreenedRutherfordHE;
    1372 typedef G4DNAProcess&lt;G4CrossSectionElasticChampion,G4FinalStateElasticChampion&gt;
    1373   ElasticChampion;
    1374 typedef G4DNAProcess&lt;G4CrossSectionExcitationEmfietzoglou,G4FinalStateExcitationEmfietzoglou&gt;
    1375   ExcitationEmfietzoglou;
    1376 typedef G4DNAProcess&lt;G4CrossSectionExcitationBorn,G4FinalStateExcitationBorn&gt;
    1377   ExcitationBorn;
    1378 typedef G4DNAProcess&lt;G4CrossSectionIonisationBorn,G4FinalStateIonisationBorn&gt;
    1379   IonisationBorn;
    1380 typedef G4DNAProcess&lt;G4CrossSectionIonisationRudd,G4FinalStateIonisationRudd&gt;
    1381   IonisationRudd;
    1382 typedef G4DNAProcess&lt;G4CrossSectionExcitationMillerGreen,G4FinalStateExcitationMillerGreen&gt;
    1383   ExcitationMillerGreen;
    1384 typedef G4DNAProcess&lt;G4CrossSectionChargeDecrease,G4FinalStateChargeDecrease&gt;
    1385   ChargeDecrease;
    1386 typedef G4DNAProcess&lt;G4CrossSectionChargeIncrease,G4FinalStateChargeIncrease&gt;
    1387   ChargeIncrease;
    1388 
    1389 // Processes registration
    1390 
    1391 void MicrodosimetryPhysicsList::ConstructEM()
     1534void PhysicsList::ConstructBaryons()
    13921535{
    1393   theParticleIterator-&gt;reset();
    1394 
    1395   while( (*theParticleIterator)() ){
    1396 
    1397     G4ParticleDefinition* particle = theParticleIterator-&gt;value();
    1398     G4ProcessManager* processManager = particle-&gt;GetProcessManager();
    1399     G4String particleName = particle-&gt;GetParticleName();
    1400 
    1401     if (particleName == "e-") {
    1402        processManager-&gt;AddDiscreteProcess(new ExcitationEmfietzoglou("ExcitationEmfietzoglou"));
    1403        
    1404        // The two following elastic scattering models should be registered together
    1405        processManager-&gt;AddDiscreteProcess(new ElasticScreenedRutherfordLE("ElasticScreenedRutherfordLE"));
    1406        processManager-&gt;AddDiscreteProcess(new ElasticScreenedRutherfordHE("ElasticScreenedRutherfordHE"));
    1407        
    1408        // The following process is commented here because it is ALTERNATIVE to ElasticScreenedRutherfordLE and ElasticScreenedRutherfordHE
    1409        // It should NOT be registered simultaneously with ElasticScreenedRutherfordLE and ElasticScreenedRutherfordHE
    1410        // processManager-&gt;AddDiscreteProcess(new ElasticChampion("ElasticChampion"));
    1411        
    1412        processManager-&gt;AddDiscreteProcess(new IonisationBorn("IonisationBorn"));
    1413 
    1414     } else if ( particleName == "proton" ) {
    1415        processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen"));
    1416        processManager-&gt;AddDiscreteProcess(new ExcitationBorn("ExcitationBorn"));
    1417        processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
    1418        processManager-&gt;AddDiscreteProcess(new IonisationBorn("IonisationBorn"));
    1419        processManager-&gt;AddDiscreteProcess(new ChargeDecrease("ChargeDecrease"));
    1420 
    1421     } else if ( particleName == "hydrogen" ) {
    1422        processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
    1423        processManager-&gt;AddDiscreteProcess(new ChargeIncrease("ChargeIncrease"));
    1424 
    1425     } else if ( particleName == "alpha" ) {
    1426        processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen"));
    1427        processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
    1428        processManager-&gt;AddDiscreteProcess(new ChargeDecrease("ChargeDecrease"));
    1429    
    1430     } else if ( particleName == "alpha+" ) {
    1431        processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen"));
    1432        processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
    1433        processManager-&gt;AddDiscreteProcess(new ChargeDecrease("ChargeDecrease"));
    1434        processManager-&gt;AddDiscreteProcess(new ChargeIncrease("ChargeIncrease"));
    1435    
    1436     } else if ( particleName == "helium" ) {
    1437        processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen"));
    1438        processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
    1439        processManager-&gt;AddDiscreteProcess(new ChargeIncrease("ChargeIncrease"));
    1440     }
    1441 
    1442   }
     1536// construct baryons ---
     1537// Geant4 DNA particles
     1538G4GenericIon::GenericIonDefinition() ;
     1539G4DNAGenericIonsManager * genericIonsManager;
     1540genericIonsManager=G4DNAGenericIonsManager::Instance();
     1541genericIonsManager-&gt;GetIon("alpha++");
     1542genericIonsManager-&gt;GetIon("alpha+");
     1543genericIonsManager-&gt;GetIon("helium");
     1544genericIonsManager-&gt;GetIon("hydrogen");
    14431545}
    14441546
     
    14491551
    14501552<para>
    1451 Note that in the above example, "alpha"  particles are helium atoms ionised
    1452 twice and "helium" particles are neutral helium atoms. The definition of
    1453 particles in the physics list may be for example implemented as follows :
    1454 
    1455 <informalexample>
    1456 <programlisting>
    1457 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    1458 
    1459 #include "G4DNAGenericIonsManager.hh"
    1460 
    1461 void MicrodosimetryPhysicsList::ConstructBaryons()
    1462 {
    1463   //  construct baryons ---
    1464 
    1465   // Geant4 DNA particles
    1466 
    1467   G4DNAGenericIonsManager * genericIonsManager;
    1468   genericIonsManager=G4DNAGenericIonsManager::Instance();
    1469   genericIonsManager-&gt;GetIon("alpha++");
    1470   genericIonsManager-&gt;GetIon("alpha+");
    1471   genericIonsManager-&gt;GetIon("helium");
    1472   genericIonsManager-&gt;GetIon("hydrogen");
    1473 
    1474 }
    1475 
    1476 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    1477 </programlisting>
    1478 </informalexample>
    1479 </para>
    1480 
    1481 <para>
    1482 To run the Geant4 DNA extension, data files need to be copied by the user to
    1483 his/her code repository. These files are distributed together with the Geant4 release.
    1484 </para>
    1485 
    1486 <para>
    1487 The user should set the environment variable G4LEDATA to the directory where
    1488 he/she has copied the files.
     1553To run the Geant4-DNA extension, data files need to be copied by the
     1554user to his/her code repository. These files are distributed together
     1555with the Geant4 release. The user should set the environment variable
     1556G4LEDATA to the directory where he/she has copied the files.
    14891557</para>
    14901558
     
    24202488</programlisting>
    24212489</informalexample>
    2422 
     2490</para>
     2491
     2492<para>
    24232493Branching 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>
     2494</para>
     2495
     2496<para>
     2497<emphasis role="bold">Example: Set 100% br for dalitz decay of pi0</emphasis>
     2498
     2499<informalexample>
     2500<programlisting>
     2501  Idle&gt; /particle/select pi0
     2502  Idle&gt; /particle/property/decay/select 0
     2503  Idle&gt; /particle/property/decay/br 0
     2504  Idle&gt; /particle/property/decay/select 1
     2505  Idle&gt; /particle/property/decay/br 1
     2506  Idle&gt; /particle/property/decay/dump
     2507        G4DecayTable:  pi0
     2508           0:  BR:  0  [Phase Space]   :   gamma gamma
     2509           1:  BR:  1  [Dalitz Decay]  :   gamma e- e+
     2510</programlisting>
     2511</informalexample>
     2512
    24392513</para>
    24402514
     
    32233297otherwise specify the model reflection probability constants, the
    32243298default becomes Lambertian reflection.
     3299</para>
     3300
     3301<para>
     3302Martin Janecek and Bill Moses (Lawrence Berkeley National Laboratory)
     3303built an instrument for measuring the angular reflectivity distribution
     3304inside of BGO crystals with common surface treatments and reflectors
     3305applied. These results have been incorporate into the Geant4 code. A
     3306third class of reflection type besides dielectric_metal and
     3307dielectric_dielectric is added: dielectric_LUT. The distributions have
     3308been converted to 21 look-up-tables (LUT); so far for 1 scintillator
     3309material (BGO) x 3 surface treatments x 7 reflector materials.  The
     3310modified code allows the user to specify the surface treatment
     3311(rough-cut, chemically etched, or mechanically polished), the attached
     3312reflector (Lumirror, Teflon, ESR film, Tyvek, or TiO2 paint), and the
     3313bonding type (air-coupled or glued). The glue used is MeltMount, and the
     3314ESR film used is VM2000. Each LUT consists of measured angular
     3315distributions with 4º by 5º resolution in theta and phi, respectively,
     3316for incidence angles from 0º to 90º degrees, in 1º-steps. The code might
     3317in the future be updated by adding more LUTs, for instance, for other
     3318scintillating materials (such as LSO or NaI). To use these LUT the user
     3319has to download them from
     3320<ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
     3321Geant4 Software Download</ulink> and set an environment variable,
     3322<literal>G4REALSURFACEDATA</literal>, to the directory of
     3323<literal>geant4/data/RealSurface1.0</literal>. For details see:
     3324
     3325<ulink url="./AllResources/TrackingAndPhysics/physicsProcessOptical.src/Janecek-TNS-00249-2009R1.pdf">
     3326M. Janecek, W. Moses IEEE Transactions on Nuclear Science
     3327</ulink>.
     3328</para>
     3329
     3330<para>
     3331The enumeration G4OpticalSurfaceFinish has been extended to include
     3332(what follows should be a 2 column table):
     3333
     3334<informalexample>
     3335<programlisting>
     3336  polishedlumirrorair,         // mechanically polished surface, with lumirror
     3337  polishedlumirrorglue,        // mechanically polished surface, with lumirror &amp; meltmount
     3338  polishedair,                 // mechanically polished surface
     3339  polishedteflonair,           // mechanically polished surface, with teflon
     3340  polishedtioair,              // mechanically polished surface, with tio paint
     3341  polishedtyvekair,            // mechanically polished surface, with tyvek
     3342  polishedvm2000air,           // mechanically polished surface, with esr film
     3343  polishedvm2000glue,          // mechanically polished surface, with esr film &amp; meltmount
     3344  etchedlumirrorair,           // chemically etched surface, with lumirror
     3345  etchedlumirrorglue,          // chemically etched surface, with lumirror &amp; meltmount
     3346  etchedair,                   // chemically etched surface
     3347  etchedteflonair,             // chemically etched surface, with teflon
     3348  etchedtioair,                // chemically etched surface, with tio paint
     3349  etchedtyvekair,              // chemically etched surface, with tyvek
     3350  etchedvm2000air,             // chemically etched surface, with esr film
     3351  etchedvm2000glue,            // chemically etched surface, with esr film &amp; meltmount
     3352  groundlumirrorair,           // rough-cut surface, with lumirror
     3353  groundlumirrorglue,          // rough-cut surface, with lumirror &amp; meltmount
     3354  groundair,                   // rough-cut surface
     3355  groundteflonair,             // rough-cut surface, with teflon
     3356  groundtioair,                // rough-cut surface, with tio paint
     3357  groundtyvekair,              // rough-cut surface, with tyvek
     3358  groundvm2000air,             // rough-cut surface, with esr film
     3359  groundvm2000glue             // rough-cut surface, with esr film &amp; meltmount
     3360</programlisting>
     3361</informalexample>
     3362</para>
     3363
     3364<para>
     3365To use a look-up-table, all the user needs to specify for an
     3366<literal>G4OpticalSurface</literal> is:
     3367<literal>SetType(dielectric_LUT), SetModel(LUT)</literal> and for example,
     3368<literal>SetFinish(polishedtyvekair)</literal>.
    32253369</para>
    32263370
Note: See TracChangeset for help on using the changeset viewer.