Changeset 1211 for trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics
- Timestamp:
- Dec 7, 2009, 12:15:45 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml
r1208 r1211 793 793 794 794 <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 795 A physical interaction is described by a process class which can handle 796 physics models, described by model classes. The following is a summary 797 of the Low Energy Electromagnetic physics models available in Geant4. 798 Further information is available in the web pages of the 799 Geant4 Low Energy Electromagnetic Physics Working Group, accessible 800 from the Geant4 web site, âwho we areâ section, then âworking groupsâ. 801 </para> 802 803 <para> 804 The 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"> 806 Physics Reference Manual. 799 807 </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> 808 They are based on the Livermore data library, on the 809 ICRU73 data tables or on the Penelope Monte Carlo code. They adopt the 810 same software design as the "standard" Geant4 electromagnetic models. 811 </para> 812 813 <para> 814 Examples of the registration of physics constructor with low-energy 815 electromagnetic models are shown in Geant4 extended examples 816 (<literal>$G4INSTALL/examples/extended/electromagnetic</literal>). 817 Advanced examples (<literal>$G4INSTALL/examples/advanced</literal>) 818 illustrate alternative instantiation of these processes. 819 Both are available as part of the Geant4 release. 820 </para> 821 822 <para> 823 To use the low energy electromagnetic models, data files need to be 824 copied by the user to his/her code repository. These files are 825 distributed together with Geant4. The user should set the environment 826 variable 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> 832 Livermore based models 833 </title> 806 834 807 835 <para> 808 836 <itemizedlist spacing="compact"> 809 837 <listitem><para> 810 <emphasis role="bold">Photon processes</emphasis>838 <emphasis role="bold">Photon models</emphasis> 811 839 <itemizedlist spacing="compact"> 812 840 <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> 833 868 <itemizedlist spacing="compact"> 834 869 <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>) 840 874 </para></listitem> 841 875 </itemizedlist> 842 876 </para></listitem> 843 <listitem><para> 844 <emphasis role="bold">Hadron and ion processes</emphasis> 877 </itemizedlist> 878 </para> 879 880 <para> 881 Options can be set in the G4LivermorePhotoElectricModel class, that allow 882 the 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& name); 890 </para></listitem> 891 </itemizedlist> 892 </para> 893 894 <para> 895 Currently three angular generators are available: 896 G4PhotoElectricAngularGeneratorSimple, G4PhotoElectricAngularGeneratorSauterGavrilla 897 and G4PhotoElectricAngularGeneratorPolarized. 898 G4PhotoElectricAngularGeneratorSauterGavrilla is selected by default. 899 G4PhotoElectricAngularGeneratorSimple, G4PhotoElectricAngularGeneratorSauterGavrilla 900 and G4PhotoElectricAngularGeneratorPolarized can be set using respectively the 901 strings "default", "standard" and "polarized". 902 </para> 903 904 <para> 905 Options are available in the G4LivermoreBremsstrahlungModel class, that allow 906 the 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& name); 913 </para></listitem> 914 </itemizedlist> 915 </para> 916 917 <para> 918 Currently three angular generators are available: G4ModifiedTsai, 919 2BNGenerator and 2BSGenerator. G4ModifiedTsai is set by default, but it 920 can be forced using the string "tsai". 2BNGenerator and 2BSGenerator 921 can be set using the strings "2bs" and "2bn". Information regarding 922 conditions of use, performance and energy 923 limits of different models are available in the Physics Reference Manual . 924 </para> 925 926 <para> 927 Other 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> 937 Options 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> 958 ICRU73 based ion model 959 </title> 960 961 <para> 962 Ionisation and delta ray production (class G4IonParametrisedLossModel) 963 </para> 964 965 <para> 966 The ion model uses ICRU 73 stopping powers, if corresponding ion-material 967 combinations are covered by the ICRU 73 report (up to 1 GeV/nucleon), and 968 otherwise applies a Bethe-Bloch based formalism. For compounds, ICRU 73 969 stopping powers are employed if the material name coincides with the name 970 of Geant4 NIST materials (e.g. G4_WATER). Elemental materials are matched 971 to the corresponding ICRU 73 stopping powers by means of the atomic number 972 of the material. The material name may be arbitrary in this case. For a 973 list of applicable materials, the user is referred to the ICRU 73 report. 974 </para> 975 976 <para> 977 The model requires data files to be copied by the user to his/her code 978 repository. These files are distributed together with the Geant4 release. 979 The user should set the environment variable G4LEDATA to the directory where 980 he/she has copied the files. 981 </para> 982 983 <para> 984 The model is dedicated to be used with the G4ionIonisation process and its 985 applicability is restricted to G4GenericIon particles. The ion model is 986 not used by default by this process and must be instantiated and registered 987 by the user: 988 989 <informalexample> 990 <programlisting> 991 G4ionIonisation* ionIoni = new G4ionIonisation(); 992 ionIoni -> 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> 1002 Penelope based models 1003 </title> 1004 1005 <para> 1006 <itemizedlist spacing="compact"> 1007 <listitem><para> 1008 <emphasis role="bold">Photon models</emphasis> 845 1009 <itemizedlist spacing="compact"> 846 1010 <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> 851 1048 </para></listitem> 852 1049 </itemizedlist> … … 854 1051 855 1052 <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: 1053 All Penelope models can be applied up to a maximum energy of 100 GeV, 1054 although it is advisable not to use them above a few hundreds of MeV. 1055 </para> 1056 1057 <para> 1058 Options are available in the all Penelope Models, allowing to set 1059 (and retrieve) the verbosity level of the model, namely the amount of 1060 information which is printed on the screen. 883 1061 884 1062 <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& ) 899 </para></listitem> 900 <listitem><para> 901 SetNuclearStoppingPowerModel(const G4String&) 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> 927 1069 </itemizedlist> 928 1070 </para> 929 1071 930 1072 <para> 931 <emphasis role="bold">Options</emphasis> are available for low energy electromagnetic 932 processes for electrons in the G4LowEnergyIonisation class: 1073 The default verbosity level is 0 (namely, no textual output on the screen). 1074 The default value should be used in general for normal runs. Higher 1075 verbosity levels are suggested only for testing and debugging purposes. 1076 </para> 1077 1078 <para> 1079 The verbosity scale defined for all Penelope processes is the following: 933 1080 934 1081 <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> 944 1097 </itemizedlist> 945 1098 </para> 946 1099 947 1100 <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: 1101 Options are available in G4PenelopeComptonModel, G4PenelopePhotoElectricModel 1102 and G4PenelopeIonisationModel to enable or disable the usage of atomic 1103 de-excitation via the G4AtomicDeexcitation module. 952 1104 953 1105 <itemizedlist spacing="compact"> 954 <listitem><para>955 SetAngularGenerator(G4VBremAngularDistribution* distribution);956 957 <listitem><para>958 SetAngularGenerator(const G4String& name);959 1106 <listitem><para> 1107 SetDeexcitationFlag(G4bool) 1108 </para></listitem> 1109 <listitem><para> 1110 DeexcitationFlag() 1111 </para></listitem> 960 1112 </itemizedlist> 961 1113 </para> 962 1114 963 1115 <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& 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 1116 The default is âtrueâ, namely vacancies in atomic shells produced by the 1117 interaction are handled by the G4AtomicDeexcitation module, possibly with 1118 the subsequent emission of fluorescence x-rays. If is set to âfalseâ 1119 by the user, the energy released in the re-arrangement of atomic vacancies 1120 is treated in the model as a local energy deposit, without emission of 1121 secondary particles. The methods are actually inherited from G4VEmModel, 1122 so they work for all Penelope models; by the way, they have effect only 1123 in G4PenelopeComptonModel, G4PenelopePhotoElectricModel and 1124 G4PenelopeIonisationModel. 1125 </para> 1126 1127 <para> 1128 An option is also available in these models to enable the production of 1129 Auger electrons by the G4AtomicDeexcitation module ActivateAuger(G4bool). 1130 The default (coming from G4AtomicDeexcitation) is âfalseâ, namely only 1131 fluorescence x-rays are emitted but not Auger electrons. One should 1132 notice that this option has effect only if the usage of the atomic 1133 deexcitation is enabled. A warning message is printed if one tries to 1134 enable the emission of the Auger electrons after having disabled the 1135 atomic deexcitation via SetDeexcitationFlag(false). 1136 </para> 1137 1138 </sect4> 1021 1139 </sect3> 1140 1141 1022 1142 1023 1143 <!-- ******************* Section (Level#3) ****************** --> … … 1028 1148 1029 1149 <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> 1150 The Geant4 low energy electromagnetic Physics package has been extended 1151 down to energies of a few electronVolts suitable for the simulation of 1152 radiation effects in liquid water for applications in microdosimetry at 1153 the cellular and sub-cellular level. These developments take place in 1154 the framework of the on-going Geant4-DNA project (see the web pages 1155 of 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> 1160 The Geant4-DNA process and model classes apply to electrons, protons, 1161 hydrogen, alpha particles and their charge states. 1162 </para> 1163 1054 1164 1055 1165 <!-- ******* Bridgehead ******* --> 1056 1166 <bridgehead renderas='sect4'> 1057 Electron processes 1167 Electron processes and models 1058 1168 </bridgehead> 1059 1169 <para> 1060 1170 <itemizedlist spacing="compact"> 1061 1171 <listitem><para> 1062 Elastic scattering (two complementary models available depending on energy range, and one alternative model)1172 Elastic scattering : 1063 1173 <itemizedlist spacing="compact"> 1064 1174 <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 1073 1180 </para></listitem> 1074 1181 </itemizedlist> 1075 1182 </para></listitem> 1076 <listitem><para> 1077 Excitation (one model) 1183 1184 <listitem><para> 1185 Excitation 1078 1186 <itemizedlist spacing="compact"> 1079 1187 <listitem><para> 1080 Cross section policy class name : G4CrossSectionExcitationEmfietzoglou1081 </para></listitem> 1082 <listitem><para> 1083 Final state policy class name : G4FinalStateExcitationEmfietzoglou1188 process class is G4DNAExcitation 1189 </para></listitem> 1190 <listitem><para> 1191 model class is G4DNAEmfietzoglouExcitationModel 1084 1192 </para></listitem> 1085 1193 </itemizedlist> 1086 1194 </para></listitem> 1087 <listitem><para> 1088 Ionisation (one model) 1195 1196 <listitem><para> 1197 Ionisation 1089 1198 <itemizedlist spacing="compact"> 1090 1199 <listitem><para> 1091 Cross section policy class name : G4CrossSectionIonisationBorn1092 </para></listitem> 1093 <listitem><para> 1094 Final state policy class names : G4FinalStateIonisationBorn1200 process class is G4DNAIonisation 1201 </para></listitem> 1202 <listitem><para> 1203 model class is G4DNABornIonisationModel 1095 1204 </para></listitem> 1096 1205 </itemizedlist> … … 1101 1210 <!-- ******* Bridgehead ******* --> 1102 1211 <bridgehead renderas='sect4'> 1103 Proton processes 1212 Proton processes and models 1104 1213 </bridgehead> 1105 1214 <para> 1106 1215 <itemizedlist spacing="compact"> 1107 1216 <listitem><para> 1108 Excitation (two complementary models available depending on energy range)1217 Excitation 1109 1218 <itemizedlist spacing="compact"> 1110 1219 <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) 1121 1225 </para></listitem> 1122 1226 </itemizedlist> 1123 1227 </para></listitem> 1124 <listitem><para> 1125 Ionisation (two complementary models available depending on energy range) 1228 1229 <listitem><para> 1230 Ionisation 1126 1231 <itemizedlist spacing="compact"> 1127 1232 <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) 1138 1238 </para></listitem> 1139 1239 </itemizedlist> 1140 1240 </para></listitem> 1141 <listitem><para> 1142 Charge decrease (one model) 1241 1242 <listitem><para> 1243 Charge decrease 1143 1244 <itemizedlist spacing="compact"> 1144 1245 <listitem><para> 1145 Cross section policy class name : G4CrossSectionChargeDecrease1146 </para></listitem> 1147 <listitem><para> 1148 Final state policy class name : G4FinalStateChargeDecrease1246 process class is G4DNAChargeDecrease 1247 </para></listitem> 1248 <listitem><para> 1249 model class is G4DNADingfelderChargeDecreaseModel 1149 1250 </para></listitem> 1150 1251 </itemizedlist> … … 1155 1256 <!-- ******* Bridgehead ******* --> 1156 1257 <bridgehead renderas='sect4'> 1157 Hydrogen processes 1258 Hydrogen processes and models 1158 1259 </bridgehead> 1159 1260 <para> 1160 1261 <itemizedlist spacing="compact"> 1161 1262 <listitem><para> 1162 Ionisation (one model)1263 Ionisation 1163 1264 <itemizedlist spacing="compact"> 1164 1265 <listitem><para> 1165 Cross section policy class name : G4CrossSectionIonisationRudd1166 </para></listitem> 1167 <listitem><para> 1168 Final state policy class name : G4FinalStateIonisationRudd1266 process class is G4DNAIonisation 1267 </para></listitem> 1268 <listitem><para> 1269 model class is G4DNARuddIonisationModel 1169 1270 </para></listitem> 1170 1271 </itemizedlist> 1171 1272 </para></listitem> 1172 <listitem><para> 1173 Charge increase (one model) 1273 1274 <listitem><para> 1275 Charge increase 1174 1276 <itemizedlist spacing="compact"> 1175 1277 <listitem><para> 1176 Cross section policy class name : G4CrossSectionChargeIncrease1177 </para></listitem> 1178 <listitem><para> 1179 Final state policy class name : G4FinalStateChargeIncrease1278 process class is G4DNAChargeIncrease 1279 </para></listitem> 1280 <listitem><para> 1281 model class is G4DNADingfelderChargeIncreaseModel 1180 1282 </para></listitem> 1181 1283 </itemizedlist> … … 1186 1288 <!-- ******* Bridgehead ******* --> 1187 1289 <bridgehead renderas='sect4'> 1188 Helium (neutral) processes 1290 Helium (neutral) processes and models 1189 1291 </bridgehead> 1190 1292 <para> 1191 1293 <itemizedlist spacing="compact"> 1192 1294 <listitem><para> 1193 Excitation (one model)1295 Excitation 1194 1296 <itemizedlist spacing="compact"> 1195 1297 <listitem><para> 1196 Cross section policy class name : G4CrossSectionExcitationMillerGreen1197 </para></listitem> 1198 <listitem><para> 1199 Final state policy class name : G4FinalStateExcitationMillerGreen1298 process class is G4DNAExcitation 1299 </para></listitem> 1300 <listitem><para> 1301 model class is G4DNAMillerGreenExcitationModel 1200 1302 </para></listitem> 1201 1303 </itemizedlist> 1202 1304 </para></listitem> 1203 <listitem><para> 1204 Ionisation (one model) 1305 1306 <listitem><para> 1307 Ionisation 1205 1308 <itemizedlist spacing="compact"> 1206 1309 <listitem><para> 1207 Cross section policy class name : G4CrossSectionIonisationRudd1208 </para></listitem> 1209 <listitem><para> 1210 Final state policy class name : G4FinalStateIonisationRudd1310 process class is G4DNAIonisation 1311 </para></listitem> 1312 <listitem><para> 1313 model class is G4DNARuddIonisationModel 1211 1314 </para></listitem> 1212 1315 </itemizedlist> 1213 1316 </para></listitem> 1214 <listitem><para> 1215 Charge increase (one model) 1317 1318 <listitem><para> 1319 Charge increase 1216 1320 <itemizedlist spacing="compact"> 1217 1321 <listitem><para> 1218 Cross section policy class name : G4CrossSectionChargeIncrease1219 </para></listitem> 1220 <listitem><para> 1221 Final state policy class name : G4FinalStateChargeIncrease1322 process class is G4DNAChargeIncrease 1323 </para></listitem> 1324 <listitem><para> 1325 model class is G4DNADingfelderChargeIncreaseModel 1222 1326 </para></listitem> 1223 1327 </itemizedlist> … … 1228 1332 <!-- ******* Bridgehead ******* --> 1229 1333 <bridgehead renderas='sect4'> 1230 Helium+ (ionized once) processes 1334 Helium+ (ionized once) processes and models 1231 1335 </bridgehead> 1232 1336 <para> 1233 1337 <itemizedlist spacing="compact"> 1234 1338 <listitem><para> 1235 Excitation (one model)1339 Excitation 1236 1340 <itemizedlist spacing="compact"> 1237 1341 <listitem><para> 1238 Cross section policy class name : G4CrossSectionExcitationMillerGreen1239 </para></listitem> 1240 <listitem><para> 1241 Final state policy class name : G4FinalStateExcitationMillerGreen1342 process class is G4DNAExcitation 1343 </para></listitem> 1344 <listitem><para> 1345 model class is G4DNAMillerGreenExcitationModel 1242 1346 </para></listitem> 1243 1347 </itemizedlist> 1244 1348 </para></listitem> 1245 <listitem><para> 1246 Ionisation (one model) 1349 1350 <listitem><para> 1351 Ionisation 1247 1352 <itemizedlist spacing="compact"> 1248 1353 <listitem><para> 1249 Cross section policy class name : G4CrossSectionIonisationRudd1250 </para></listitem> 1251 <listitem><para> 1252 Final state policy class name : G4FinalStateIonisationRudd1354 process class is G4DNAIonisation 1355 </para></listitem> 1356 <listitem><para> 1357 model classes is G4DNARuddIonisationModel 1253 1358 </para></listitem> 1254 1359 </itemizedlist> 1255 1360 </para></listitem> 1256 <listitem><para> 1257 Charge increase (one model) 1361 1362 <listitem><para> 1363 Charge increase 1258 1364 <itemizedlist spacing="compact"> 1259 1365 <listitem><para> 1260 Cross section policy class name : G4CrossSectionChargeIncrease1261 </para></listitem> 1262 <listitem><para> 1263 Final state policy class name : G4FinalStateChargeIncrease1366 process class is G4DNAChargeIncrease 1367 </para></listitem> 1368 <listitem><para> 1369 model classes is G4DNADingfelderChargeIncreaseModel 1264 1370 </para></listitem> 1265 1371 </itemizedlist> 1266 1372 </para></listitem> 1267 <listitem><para> 1268 Charge decrease (one model) 1373 1374 <listitem><para> 1375 Charge decrease 1269 1376 <itemizedlist spacing="compact"> 1270 1377 <listitem><para> 1271 Cross section policy class name : G4CrossSectionChargeDecrease1272 </para></listitem> 1273 <listitem><para> 1274 Final state policy class name : G4FinalStateChargeDecrease1378 process class is G4DNAChargeDecrease 1379 </para></listitem> 1380 <listitem><para> 1381 model classes is G4DNADingfelderChargeDecreaseModel 1275 1382 </para></listitem> 1276 1383 </itemizedlist> … … 1281 1388 <!-- ******* Bridgehead ******* --> 1282 1389 <bridgehead renderas='sect4'> 1283 Helium++ (ionised twice) processes 1390 Helium++ (ionised twice) processes and models 1284 1391 </bridgehead> 1285 1392 <para> 1286 1393 <itemizedlist spacing="compact"> 1287 1394 <listitem><para> 1288 Excitation (one model)1395 Excitation 1289 1396 <itemizedlist spacing="compact"> 1290 1397 <listitem><para> 1291 Cross section policy class name : G4CrossSectionExcitationMillerGreen1292 </para></listitem> 1293 <listitem><para> 1294 Final state policy class name : G4FinalStateExcitationMillerGreen1398 process class is G4DNAExcitation 1399 </para></listitem> 1400 <listitem><para> 1401 model classes is G4DNAMillerGreenExcitationModel 1295 1402 </para></listitem> 1296 1403 </itemizedlist> 1297 1404 </para></listitem> 1298 <listitem><para> 1299 Ionisation (one model) 1405 1406 <listitem><para> 1407 Ionisation 1300 1408 <itemizedlist spacing="compact"> 1301 1409 <listitem><para> 1302 Cross section policy class name : G4CrossSectionIonisationRudd1303 </para></listitem> 1304 <listitem><para> 1305 Final state policy class name : G4FinalStateIonisationRudd1410 process class is G4DNAIonisation 1411 </para></listitem> 1412 <listitem><para> 1413 model classes is G4DNARuddIonisationModel 1306 1414 </para></listitem> 1307 1415 </itemizedlist> 1308 1416 </para></listitem> 1309 <listitem><para> 1310 Charge decrease (one model) 1417 1418 <listitem><para> 1419 Charge decrease 1311 1420 <itemizedlist spacing="compact"> 1312 1421 <listitem><para> 1313 Cross section policy class name : G4CrossSectionChargeDecrease1314 </para></listitem> 1315 <listitem><para> 1316 Final state policy class name : G4FinalStateChargeDecrease1422 process class is G4DNAChargeDecrease 1423 </para></listitem> 1424 <listitem><para> 1425 model classes is G4DNADingfelderChargeDecreaseModel 1317 1426 </para></listitem> 1318 1427 </itemizedlist> … … 1322 1431 1323 1432 <para> 1324 An example of the registration of these processes in a physics list is given here below : 1433 An example of the registration of these processes in a physics list is 1434 given 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 1460 void PhysicsList::ConstructEM() 1461 { 1462 theParticleIterator->reset(); 1463 1464 while( (*theParticleIterator)() ) 1465 { 1466 1467 G4ParticleDefinition* particle = theParticleIterator->value(); 1468 G4ProcessManager* pmanager = particle->GetProcessManager(); 1469 G4String particleName = particle->GetParticleName(); 1470 1471 // DNA processes per particle type 1472 1473 if (particleName == "e-") { 1474 1475 G4DNAElastic* theDNAElasticProcess = new G4DNAElastic("e-_G4DNAElastic"); 1476 theDNAElasticProcess->SetModel(new G4DNAChampionElasticModel()); 1477 // or alternative model 1478 // theDNAElasticProcess->SetModel(new G4DNAScreenedRutherfordElasticModel()); 1479 pmanager->AddDiscreteProcess(theDNAElasticProcess); 1480 1481 pmanager->AddDiscreteProcess(new G4DNAExcitation("e-_G4DNAExcitation")); 1482 pmanager->AddDiscreteProcess(new G4DNAIonisation("e-_G4DNAIonisation")); 1483 1484 } else if ( particleName == "proton" ) { 1485 1486 pmanager->AddDiscreteProcess(new G4DNAExcitation("proton_G4DNAExcitation")); 1487 pmanager->AddDiscreteProcess(new G4DNAIonisation("proton_G4DNAIonisation")); 1488 pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("proton_G4DNAChargeDecrease")); 1489 1490 } else if ( particleName == "hydrogen" ) { 1491 1492 pmanager->AddDiscreteProcess(new G4DNAIonisation("hydrogen_G4DNAIonisation")); 1493 pmanager->AddDiscreteProcess(new G4DNAChargeIncrease("hydrogen_G4DNAChargeIncrease")); 1494 1495 } else if ( particleName == "alpha" ) { 1496 1497 pmanager->AddDiscreteProcess(new G4DNAExcitation("alpha_G4DNAExcitation")); 1498 pmanager->AddDiscreteProcess(new G4DNAIonisation("alpha_G4DNAIonisation")); 1499 pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("alpha_G4DNAChargeDecrease")); 1500 1501 } else if ( particleName == "alpha+" ) { 1502 1503 pmanager->AddDiscreteProcess(new G4DNAExcitation("alpha+_G4DNAExcitation")); 1504 pmanager->AddDiscreteProcess(new G4DNAIonisation("alpha+_G4DNAIonisation")); 1505 pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("alpha+_G4DNAChargeDecrease")); 1506 pmanager->AddDiscreteProcess(new G4DNAChargeIncrease("alpha+_G4DNAChargeIncrease")); 1507 1508 } else if ( particleName == "helium" ) { 1509 1510 pmanager->AddDiscreteProcess(new G4DNAExcitation("helium_G4DNAExcitation")); 1511 pmanager->AddDiscreteProcess(new G4DNAIonisation("helium_G4DNAIonisation")); 1512 pmanager->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> 1525 Note that in the above example, "alpha" particles are helium atoms ionised 1526 twice and "helium" particles are neutral helium atoms. The definition of 1527 particles in the physics list may be for example implemented as follows : 1325 1528 1326 1529 <informalexample> … … 1328 1531 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 1329 1532 1330 // Geant4 DNA header files1331 1332 1533 #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<G4CrossSectionElasticScreenedRutherfordLE,G4FinalStateElasticBrennerZaider> 1369 ElasticScreenedRutherfordLE; 1370 typedef G4DNAProcess<G4CrossSectionElasticScreenedRutherfordHE,G4FinalStateElasticScreenedRutherford> 1371 ElasticScreenedRutherfordHE; 1372 typedef G4DNAProcess<G4CrossSectionElasticChampion,G4FinalStateElasticChampion> 1373 ElasticChampion; 1374 typedef G4DNAProcess<G4CrossSectionExcitationEmfietzoglou,G4FinalStateExcitationEmfietzoglou> 1375 ExcitationEmfietzoglou; 1376 typedef G4DNAProcess<G4CrossSectionExcitationBorn,G4FinalStateExcitationBorn> 1377 ExcitationBorn; 1378 typedef G4DNAProcess<G4CrossSectionIonisationBorn,G4FinalStateIonisationBorn> 1379 IonisationBorn; 1380 typedef G4DNAProcess<G4CrossSectionIonisationRudd,G4FinalStateIonisationRudd> 1381 IonisationRudd; 1382 typedef G4DNAProcess<G4CrossSectionExcitationMillerGreen,G4FinalStateExcitationMillerGreen> 1383 ExcitationMillerGreen; 1384 typedef G4DNAProcess<G4CrossSectionChargeDecrease,G4FinalStateChargeDecrease> 1385 ChargeDecrease; 1386 typedef G4DNAProcess<G4CrossSectionChargeIncrease,G4FinalStateChargeIncrease> 1387 ChargeIncrease; 1388 1389 // Processes registration 1390 1391 void MicrodosimetryPhysicsList::ConstructEM() 1534 void PhysicsList::ConstructBaryons() 1392 1535 { 1393 theParticleIterator->reset(); 1394 1395 while( (*theParticleIterator)() ){ 1396 1397 G4ParticleDefinition* particle = theParticleIterator->value(); 1398 G4ProcessManager* processManager = particle->GetProcessManager(); 1399 G4String particleName = particle->GetParticleName(); 1400 1401 if (particleName == "e-") { 1402 processManager->AddDiscreteProcess(new ExcitationEmfietzoglou("ExcitationEmfietzoglou")); 1403 1404 // The two following elastic scattering models should be registered together 1405 processManager->AddDiscreteProcess(new ElasticScreenedRutherfordLE("ElasticScreenedRutherfordLE")); 1406 processManager->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->AddDiscreteProcess(new ElasticChampion("ElasticChampion")); 1411 1412 processManager->AddDiscreteProcess(new IonisationBorn("IonisationBorn")); 1413 1414 } else if ( particleName == "proton" ) { 1415 processManager->AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen")); 1416 processManager->AddDiscreteProcess(new ExcitationBorn("ExcitationBorn")); 1417 processManager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); 1418 processManager->AddDiscreteProcess(new IonisationBorn("IonisationBorn")); 1419 processManager->AddDiscreteProcess(new ChargeDecrease("ChargeDecrease")); 1420 1421 } else if ( particleName == "hydrogen" ) { 1422 processManager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); 1423 processManager->AddDiscreteProcess(new ChargeIncrease("ChargeIncrease")); 1424 1425 } else if ( particleName == "alpha" ) { 1426 processManager->AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen")); 1427 processManager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); 1428 processManager->AddDiscreteProcess(new ChargeDecrease("ChargeDecrease")); 1429 1430 } else if ( particleName == "alpha+" ) { 1431 processManager->AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen")); 1432 processManager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); 1433 processManager->AddDiscreteProcess(new ChargeDecrease("ChargeDecrease")); 1434 processManager->AddDiscreteProcess(new ChargeIncrease("ChargeIncrease")); 1435 1436 } else if ( particleName == "helium" ) { 1437 processManager->AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen")); 1438 processManager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); 1439 processManager->AddDiscreteProcess(new ChargeIncrease("ChargeIncrease")); 1440 } 1441 1442 } 1536 // construct baryons --- 1537 // Geant4 DNA particles 1538 G4GenericIon::GenericIonDefinition() ; 1539 G4DNAGenericIonsManager * genericIonsManager; 1540 genericIonsManager=G4DNAGenericIonsManager::Instance(); 1541 genericIonsManager->GetIon("alpha++"); 1542 genericIonsManager->GetIon("alpha+"); 1543 genericIonsManager->GetIon("helium"); 1544 genericIonsManager->GetIon("hydrogen"); 1443 1545 } 1444 1546 … … 1449 1551 1450 1552 <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->GetIon("alpha++"); 1470 genericIonsManager->GetIon("alpha+"); 1471 genericIonsManager->GetIon("helium"); 1472 genericIonsManager->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. 1553 To run the Geant4-DNA extension, data files need to be copied by the 1554 user to his/her code repository. These files are distributed together 1555 with the Geant4 release. The user should set the environment variable 1556 G4LEDATA to the directory where he/she has copied the files. 1489 1557 </para> 1490 1558 … … 2420 2488 </programlisting> 2421 2489 </informalexample> 2422 2490 </para> 2491 2492 <para> 2423 2493 Branching 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>> /particle/select pi0</literal> 2429 <literal>Idle>> /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> /particle/select pi0 2502 Idle> /particle/property/decay/select 0 2503 Idle> /particle/property/decay/br 0 2504 Idle> /particle/property/decay/select 1 2505 Idle> /particle/property/decay/br 1 2506 Idle> /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 2439 2513 </para> 2440 2514 … … 3223 3297 otherwise specify the model reflection probability constants, the 3224 3298 default becomes Lambertian reflection. 3299 </para> 3300 3301 <para> 3302 Martin Janecek and Bill Moses (Lawrence Berkeley National Laboratory) 3303 built an instrument for measuring the angular reflectivity distribution 3304 inside of BGO crystals with common surface treatments and reflectors 3305 applied. These results have been incorporate into the Geant4 code. A 3306 third class of reflection type besides dielectric_metal and 3307 dielectric_dielectric is added: dielectric_LUT. The distributions have 3308 been converted to 21 look-up-tables (LUT); so far for 1 scintillator 3309 material (BGO) x 3 surface treatments x 7 reflector materials. The 3310 modified code allows the user to specify the surface treatment 3311 (rough-cut, chemically etched, or mechanically polished), the attached 3312 reflector (Lumirror, Teflon, ESR film, Tyvek, or TiO2 paint), and the 3313 bonding type (air-coupled or glued). The glue used is MeltMount, and the 3314 ESR film used is VM2000. Each LUT consists of measured angular 3315 distributions with 4º by 5º resolution in theta and phi, respectively, 3316 for incidence angles from 0º to 90º degrees, in 1º-steps. The code might 3317 in the future be updated by adding more LUTs, for instance, for other 3318 scintillating materials (such as LSO or NaI). To use these LUT the user 3319 has to download them from 3320 <ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml"> 3321 Geant4 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"> 3326 M. Janecek, W. Moses IEEE Transactions on Nuclear Science 3327 </ulink>. 3328 </para> 3329 3330 <para> 3331 The 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 & 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 & meltmount 3344 etchedlumirrorair, // chemically etched surface, with lumirror 3345 etchedlumirrorglue, // chemically etched surface, with lumirror & 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 & meltmount 3352 groundlumirrorair, // rough-cut surface, with lumirror 3353 groundlumirrorglue, // rough-cut surface, with lumirror & 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 & meltmount 3360 </programlisting> 3361 </informalexample> 3362 </para> 3363 3364 <para> 3365 To 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>. 3225 3369 </para> 3226 3370
Note: See TracChangeset
for help on using the changeset viewer.