DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Geant4Processes.cpp
Go to the documentation of this file.
1 // $Id: $
2 //==========================================================================
3 // AIDA Detector description implementation for LCD
4 //--------------------------------------------------------------------------
5 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
6 // All rights reserved.
7 //
8 // For the licensing terms see $DD4hepINSTALL/LICENSE.
9 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
10 //
11 // Author : M.Frank
12 //
13 //==========================================================================
14 
15 // Framework include files
16 #include "DDG4/Factories.h"
17 
18 // Geant4 physics lists
19 #include "G4Version.hh"
20 
21 #if G4VERSION_NUMBER>=960
22 #define GEANT4_9_6
23 #endif
24 
25 // ======================================================================
26 // Predefined physics processes to be attached to particles
27 //
28 // Usage:
29 //
30 // <physicslist name="Geant4PhysicsList/MyPhysics.0">
31 // <processes>
32 // <particle name="e[+-]" cut="1*mm">
33 // <process name="G4eMultipleScattering" ordAtRestDoIt="-1" ordAlongSteptDoIt="1" ordPostStepDoIt="1"/>
34 // <process name="G4eIonisation" ordAtRestDoIt="-1" ordAlongSteptDoIt="2" ordPostStepDoIt="2"/>
35 // </particle>
36 // </processes>
37 // </physicslist>
38 //
39 //
40 // ======================================================================
41 
42 // Photon Processes:
43 #include "G4GammaConversion.hh"
44 DECLARE_GEANT4_PROCESS(G4GammaConversion)
45 #include "G4PhotoElectricEffect.hh"
46 DECLARE_GEANT4_PROCESS(G4PhotoElectricEffect)
47 #include "G4ComptonScattering.hh"
48 DECLARE_GEANT4_PROCESS(G4ComptonScattering)
49 #include "G4RayleighScattering.hh"
50 DECLARE_GEANT4_PROCESS(G4RayleighScattering)
51 #include "G4GammaConversionToMuons.hh"
52 DECLARE_GEANT4_PROCESS(G4GammaConversionToMuons)
53 
54 // Electron/positron processes
55 #include "G4eIonisation.hh"
56 DECLARE_GEANT4_PROCESS(G4eIonisation)
57 #include "G4eBremsstrahlung.hh"
58 DECLARE_GEANT4_PROCESS(G4eBremsstrahlung)
59 #include "G4eMultipleScattering.hh"
60 DECLARE_GEANT4_PROCESS(G4eMultipleScattering)
61 #include "G4eplusAnnihilation.hh"
62 DECLARE_GEANT4_PROCESS(G4eplusAnnihilation)
63 #include "G4AnnihiToMuPair.hh"
64 DECLARE_GEANT4_PROCESS(G4AnnihiToMuPair)
65 #include "G4eeToHadrons.hh"
66 DECLARE_GEANT4_PROCESS(G4eeToHadrons)
67 
68 // Muon processes
69 #include "G4MuIonisation.hh"
70 DECLARE_GEANT4_PROCESS(G4MuIonisation)
71 #include "G4MuBremsstrahlung.hh"
72 DECLARE_GEANT4_PROCESS(G4MuBremsstrahlung)
73 #include "G4MuPairProduction.hh"
74 DECLARE_GEANT4_PROCESS(G4MuPairProduction)
75 #include "G4MuMultipleScattering.hh"
76 DECLARE_GEANT4_PROCESS(G4MuMultipleScattering)
77 
78 // Hadron/ion processes
79 #include "G4hIonisation.hh"
80 DECLARE_GEANT4_PROCESS(G4hIonisation)
81 #include "G4ionIonisation.hh"
82 DECLARE_GEANT4_PROCESS(G4ionIonisation)
83 #include "G4hhIonisation.hh"
84 DECLARE_GEANT4_PROCESS(G4hhIonisation)
85 #include "G4mplIonisation.hh"
86 DECLARE_GEANT4_PROCESS(G4mplIonisation)
87 #include "G4hMultipleScattering.hh"
88 DECLARE_GEANT4_PROCESS(G4hMultipleScattering)
89 #include "G4hBremsstrahlung.hh"
90 DECLARE_GEANT4_PROCESS(G4hBremsstrahlung)
91 #include "G4hPairProduction.hh"
92 DECLARE_GEANT4_PROCESS(G4hPairProduction)
93 
94 // Coulomb scattering
95 #include "G4CoulombScattering.hh"
96 DECLARE_GEANT4_PROCESS(G4CoulombScattering)
97 
98 // Processes for simulation of polarized electron and gamma beams
99 #include "G4PolarizedCompton.hh"
100 DECLARE_GEANT4_PROCESS(G4PolarizedCompton)
101 #include "G4PolarizedGammaConversion.hh"
102 DECLARE_GEANT4_PROCESS(G4PolarizedGammaConversion)
103 #include "G4PolarizedPhotoElectricEffect.hh"
104 DECLARE_GEANT4_PROCESS(G4PolarizedPhotoElectricEffect)
105 #include "G4ePolarizedBremsstrahlung.hh"
106 DECLARE_GEANT4_PROCESS(G4ePolarizedBremsstrahlung)
107 #include "G4ePolarizedIonisation.hh"
108 DECLARE_GEANT4_PROCESS(G4ePolarizedIonisation)
109 #include "G4eplusPolarizedAnnihilation.hh"
110 DECLARE_GEANT4_PROCESS(G4eplusPolarizedAnnihilation)
111 
112 // Processes for simulation of X-rays and optical protons production by charged particles
113 #include "G4SynchrotronRadiation.hh"
114 DECLARE_GEANT4_PROCESS(G4SynchrotronRadiation)
115 #include "G4TransitionRadiation.hh"
116 //DECLARE_GEANT4_PROCESS(G4TransitionRadiation) !!virtual abstract!!
117 #include "G4Cerenkov.hh"
118 DECLARE_GEANT4_PROCESS(G4Cerenkov)
119 #include "G4Scintillation.hh"
120 DECLARE_GEANT4_PROCESS(G4Scintillation)
121 
122 // Others
123 #include "G4PAIModel.hh"
124 DECLARE_GEANT4_PROCESS(G4PAIModel)
125 #include "G4BraggIonGasModel.hh"
126 DECLARE_GEANT4_PROCESS(G4BraggIonGasModel)
127 #include "G4BetheBlochIonGasModel.hh"
128 DECLARE_GEANT4_PROCESS(G4BetheBlochIonGasModel)
129 #include "G4WentzelVIModel.hh"
130 DECLARE_GEANT4_PROCESS(G4WentzelVIModel)
131 
132 #if G4VERSION_NUMBER < 1000
133 #include "G4UrbanMscModel93.hh"
134 DECLARE_GEANT4_PROCESS(G4UrbanMscModel93)
135 #endif
136 
137 #include "G4hImpactIonisation.hh"
138 DECLARE_GEANT4_PROCESS(G4hImpactIonisation)
139 
140 //#include "G4InversePEEffect.hh"
141 //DECLARE_GEANT4_PROCESS(G4InversePEEffect)
142 //#include "G4hInverseIonisation.hh"
143 //DECLARE_GEANT4_PROCESS(G4hInverseIonisation)
144 //#include "G4IonInverseIonisation.hh"
145 //DECLARE_GEANT4_PROCESS(G4IonInverseIonisation)
146 
147 // ==================================================================================
148 #if G4VERSION_NUMBER>=960 and G4VERSION_NUMBER<1000
149 #include "G4UrbanMscModel93.hh"
150 DECLARE_GEANT4_PROCESS(G4UrbanMscModel93)
151 // ==================================================================================
152 #elif G4VERSION_NUMBER>=1000
153 
154 // Stuff commented cannot be instantiated!!
155 
156 #include "G4AdjointBremsstrahlungModel.hh"
157 DECLARE_GEANT4_PROCESS(G4AdjointBremsstrahlungModel)
158 #include "G4AdjointComptonModel.hh"
159 DECLARE_GEANT4_PROCESS(G4AdjointComptonModel)
160 #include "G4AdjointeIonisationModel.hh"
161 DECLARE_GEANT4_PROCESS(G4AdjointeIonisationModel)
162 #include "G4AdjointIonIonisationModel.hh"
163 DECLARE_GEANT4_PROCESS(G4AdjointIonIonisationModel)
164 #include "G4AdjointPhotoElectricModel.hh"
165 DECLARE_GEANT4_PROCESS(G4AdjointPhotoElectricModel)
166 #include "G4BetheBlochModel.hh"
167 DECLARE_GEANT4_PROCESS(G4BetheBlochModel)
168 #include "G4BetheBlochNoDeltaModel.hh"
169 DECLARE_GEANT4_PROCESS(G4BetheBlochNoDeltaModel)
170 #include "G4BetheHeitlerModel.hh"
171 DECLARE_GEANT4_PROCESS(G4BetheHeitlerModel)
172 #include "G4BoldyshevTripletModel.hh"
173 DECLARE_GEANT4_PROCESS(G4BoldyshevTripletModel)
174 #include "G4BraggIonModel.hh"
175 DECLARE_GEANT4_PROCESS(G4BraggIonModel)
176 #include "G4BraggModel.hh"
177 DECLARE_GEANT4_PROCESS(G4BraggModel)
178 #include "G4BraggNoDeltaModel.hh"
179 DECLARE_GEANT4_PROCESS(G4BraggNoDeltaModel)
180 #include "G4ChipsElasticModel.hh"
181 DECLARE_GEANT4_PROCESS(G4ChipsElasticModel)
182 #include "G4DNABornExcitationModel.hh"
183 DECLARE_GEANT4_PROCESS(G4DNABornExcitationModel)
184 #include "G4eBremParametrizedModel.hh"
185 DECLARE_GEANT4_PROCESS(G4eBremParametrizedModel)
186 #include "G4eBremsstrahlungRelModel.hh"
187 DECLARE_GEANT4_PROCESS(G4eBremsstrahlungRelModel)
188 #include "G4ecpssrBaseKxsModel.hh"
189 DECLARE_GEANT4_PROCESS(G4ecpssrBaseKxsModel)
190 #include "G4ecpssrBaseLixsModel.hh"
191 DECLARE_GEANT4_PROCESS(G4ecpssrBaseLixsModel)
192 #include "G4ecpssrFormFactorKxsModel.hh"
193 DECLARE_GEANT4_PROCESS(G4ecpssrFormFactorKxsModel)
194 //#include "G4ee2KChargedModel.hh"
195 //DECLARE_GEANT4_PROCESS(G4ee2KChargedModel)
196 //#include "G4ee2KNeutralModel.hh"
197 //DECLARE_GEANT4_PROCESS(G4ee2KNeutralModel)
198 //#include "G4eeTo3PiModel.hh"
199 //DECLARE_GEANT4_PROCESS(G4eeTo3PiModel)
200 //#include "G4eeToHadronsModel.hh"
201 //DECLARE_GEANT4_PROCESS(G4eeToHadronsModel)
202 #include "G4ecpssrFormFactorLixsModel.hh"
203 DECLARE_GEANT4_PROCESS(G4ecpssrFormFactorLixsModel)
204 #include "G4ecpssrFormFactorMixsModel.hh"
205 DECLARE_GEANT4_PROCESS(G4ecpssrFormFactorMixsModel)
206 #include "G4EmMultiModel.hh"
207 DECLARE_GEANT4_PROCESS(G4EmMultiModel)
208 #include "G4ePolarizedBremsstrahlungModel.hh"
209 DECLARE_GEANT4_PROCESS(G4ePolarizedBremsstrahlungModel)
210 #include "G4FTFModel.hh"
211 DECLARE_GEANT4_PROCESS(G4FTFModel)
212 #include "G4GoudsmitSaundersonMscModel.hh"
213 DECLARE_GEANT4_PROCESS(G4GoudsmitSaundersonMscModel)
214 #include "G4hBremsstrahlungModel.hh"
215 DECLARE_GEANT4_PROCESS(G4hBremsstrahlungModel)
216 #include "G4hCoulombScatteringModel.hh"
217 DECLARE_GEANT4_PROCESS(G4hCoulombScatteringModel)
218 //#include "G4hNuclearStoppingModel.hh"
219 //DECLARE_GEANT4_PROCESS(G4hNuclearStoppingModel)
220 #include "G4hPairProductionModel.hh"
221 DECLARE_GEANT4_PROCESS(G4hPairProductionModel)
222 //#include "G4hParametrisedLossModel.hh"
223 //DECLARE_GEANT4_PROCESS(G4hParametrisedLossModel)
224 #include "G4ICRU49NuclearStoppingModel.hh"
225 DECLARE_GEANT4_PROCESS(G4ICRU49NuclearStoppingModel)
226 #include "G4ICRU73NoDeltaModel.hh"
227 DECLARE_GEANT4_PROCESS(G4ICRU73NoDeltaModel)
228 #include "G4ICRU73QOModel.hh"
229 DECLARE_GEANT4_PROCESS(G4ICRU73QOModel)
230 //#include "G4INCLIClusteringModel.hh"
231 //DECLARE_GEANT4_PROCESS(G4INCLIClusteringModel)
232 //#include "G4INCLIPropagationModel.hh"
233 //DECLARE_GEANT4_PROCESS(G4INCLIPropagationModel)
234 //#include "G4INCLStandardPropagationModel.hh"
235 //DECLARE_GEANT4_PROCESS(G4INCLStandardPropagationModel)
236 //#include "G4IonChuFluctuationModel.hh"
237 //DECLARE_GEANT4_PROCESS(G4IonChuFluctuationModel)
238 
239 #endif
240 
241 
242 #if 0
243 #include ".hh"
245 #endif
246 
#define DECLARE_GEANT4_PROCESS(name)
Plugin definition to create Geant4 physics processes (G4VProcess)
Definition: Factories.h:174