/[PAMELA software]/PamG4/include/HadronPhysics.hh
ViewVC logotype

Contents of /PamG4/include/HadronPhysics.hh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Dec 13 16:20:39 2005 UTC (18 years, 11 months ago) by cafagna
Branch point for: start, MAIN
Initial revision

1
2 #ifndef HadronPhysics_h
3 #define HadronPhysics_h 1
4
5 #include "globals.hh"
6 #include "G4ios.hh"
7
8
9 #include "G4VPhysicsConstructor.hh"
10
11 #include "G4MultipleScattering.hh"
12 #include "G4hIonisation.hh"
13
14 #include "G4HadronElasticProcess.hh"
15 #include "G4HadronFissionProcess.hh"
16 #include "G4HadronCaptureProcess.hh"
17
18 #include "G4PionPlusInelasticProcess.hh"
19 #include "G4PionMinusInelasticProcess.hh"
20 #include "G4KaonPlusInelasticProcess.hh"
21 #include "G4KaonZeroSInelasticProcess.hh"
22 #include "G4KaonZeroLInelasticProcess.hh"
23 #include "G4KaonMinusInelasticProcess.hh"
24 #include "G4ProtonInelasticProcess.hh"
25 #include "G4AntiProtonInelasticProcess.hh"
26 #include "G4NeutronInelasticProcess.hh"
27 #include "G4AntiNeutronInelasticProcess.hh"
28 #include "G4LambdaInelasticProcess.hh"
29 #include "G4AntiLambdaInelasticProcess.hh"
30 #include "G4SigmaPlusInelasticProcess.hh"
31 #include "G4SigmaMinusInelasticProcess.hh"
32 #include "G4AntiSigmaPlusInelasticProcess.hh"
33 #include "G4AntiSigmaMinusInelasticProcess.hh"
34 #include "G4XiZeroInelasticProcess.hh"
35 #include "G4XiMinusInelasticProcess.hh"
36 #include "G4AntiXiZeroInelasticProcess.hh"
37 #include "G4AntiXiMinusInelasticProcess.hh"
38 #include "G4DeuteronInelasticProcess.hh"
39 #include "G4TritonInelasticProcess.hh"
40 #include "G4AlphaInelasticProcess.hh"
41 #include "G4OmegaMinusInelasticProcess.hh"
42 #include "G4AntiOmegaMinusInelasticProcess.hh"
43
44 // Low-energy Models
45 #include "G4LElastic.hh"
46 #include "G4LFission.hh"
47 #include "G4LCapture.hh"
48
49 #include "G4LEPionPlusInelastic.hh"
50 #include "G4LEPionMinusInelastic.hh"
51 #include "G4LEKaonPlusInelastic.hh"
52 #include "G4LEKaonZeroSInelastic.hh"
53 #include "G4LEKaonZeroLInelastic.hh"
54 #include "G4LEKaonMinusInelastic.hh"
55 #include "G4LEProtonInelastic.hh"
56 #include "G4LEAntiProtonInelastic.hh"
57 #include "G4LENeutronInelastic.hh"
58 #include "G4LEAntiNeutronInelastic.hh"
59 #include "G4LELambdaInelastic.hh"
60 #include "G4LEAntiLambdaInelastic.hh"
61 #include "G4LESigmaPlusInelastic.hh"
62 #include "G4LESigmaMinusInelastic.hh"
63 #include "G4LEAntiSigmaPlusInelastic.hh"
64 #include "G4LEAntiSigmaMinusInelastic.hh"
65 #include "G4LEXiZeroInelastic.hh"
66 #include "G4LEXiMinusInelastic.hh"
67 #include "G4LEAntiXiZeroInelastic.hh"
68 #include "G4LEAntiXiMinusInelastic.hh"
69 #include "G4LEDeuteronInelastic.hh"
70 #include "G4LETritonInelastic.hh"
71 #include "G4LEAlphaInelastic.hh"
72 #include "G4LEOmegaMinusInelastic.hh"
73 #include "G4LEAntiOmegaMinusInelastic.hh"
74
75 // High-energy Models
76
77 #include "G4HEPionPlusInelastic.hh"
78 #include "G4HEPionMinusInelastic.hh"
79 #include "G4HEKaonPlusInelastic.hh"
80 #include "G4HEKaonZeroInelastic.hh"
81 #include "G4HEKaonZeroInelastic.hh"
82 #include "G4HEKaonMinusInelastic.hh"
83 #include "G4HEProtonInelastic.hh"
84 #include "G4HEAntiProtonInelastic.hh"
85 #include "G4HENeutronInelastic.hh"
86 #include "G4HEAntiNeutronInelastic.hh"
87 #include "G4HELambdaInelastic.hh"
88 #include "G4HEAntiLambdaInelastic.hh"
89 #include "G4HESigmaPlusInelastic.hh"
90 #include "G4HESigmaMinusInelastic.hh"
91 #include "G4HEAntiSigmaPlusInelastic.hh"
92 #include "G4HEAntiSigmaMinusInelastic.hh"
93 #include "G4HEXiZeroInelastic.hh"
94 #include "G4HEXiMinusInelastic.hh"
95 #include "G4HEAntiXiZeroInelastic.hh"
96 #include "G4HEAntiXiMinusInelastic.hh"
97 #include "G4HEOmegaMinusInelastic.hh"
98 #include "G4HEAntiOmegaMinusInelastic.hh"
99
100 #include "G4NeutronHPElastic.hh"
101 #include "G4NeutronHPElasticData.hh"
102 #include "G4NeutronHPCapture.hh"
103 #include "G4NeutronHPCaptureData.hh"
104 #include "G4NeutronHPFission.hh"
105 #include "G4NeutronHPFissionData.hh"
106 #include "G4NeutronHPInelastic.hh"
107 #include "G4NeutronHPInelasticData.hh"
108
109 //#include "G4NeutronIsotopeProduction.hh"
110
111
112 // Stopping processes
113 #include "G4AntiProtonAnnihilationAtRest.hh"
114 #include "G4AntiNeutronAnnihilationAtRest.hh"
115
116 #ifdef TRIUMF_STOP_PIMINUS
117 #include "G4PionMinusAbsorptionAtRest.hh"
118 #else
119 #include "G4PiMinusAbsorptionAtRest.hh"
120 #endif
121 #ifdef TRIUMF_STOP_KMINUS
122 #include "G4KaonMinusAbsorption.hh"
123 #else
124 #include "G4KaonMinusAbsorptionAtRest.hh"
125 #endif
126
127 class HadronPhysics : public G4VPhysicsConstructor
128 {
129 public:
130 HadronPhysics(const G4String& name ="hadron");
131 virtual ~HadronPhysics();
132
133 public:
134 // This method will be invoked in the Construct() method.
135 // each particle type will be instantiated
136 virtual void ConstructParticle();
137
138 // This method will be invoked in the Construct() method.
139 // each physics process will be instantiated and
140 // registered to the process manager of each particle type
141 virtual void ConstructProcess();
142
143 protected:
144 // Elastic Process
145 G4HadronElasticProcess theElasticProcess;
146 G4LElastic* theElasticModel;
147
148 // Pi +
149 G4PionPlusInelasticProcess thePionPlusInelastic;
150 G4LEPionPlusInelastic* theLEPionPlusModel;
151 G4HEPionPlusInelastic* theHEPionPlusModel;
152 G4MultipleScattering thePionPlusMult;
153 G4hIonisation thePionPlusIonisation;
154
155 // Pi -
156 G4PionMinusInelasticProcess thePionMinusInelastic;
157 G4LEPionMinusInelastic* theLEPionMinusModel;
158 G4HEPionMinusInelastic* theHEPionMinusModel;
159 G4MultipleScattering thePionMinusMult;
160 G4hIonisation thePionMinusIonisation;
161 #ifdef TRIUMF_STOP_PIMINUS
162 G4PionMinusAbsorptionAtRest thePionMinusAbsorption;
163 #else
164 G4PiMinusAbsorptionAtRest thePionMinusAbsorption;
165 #endif
166
167 // K +
168 G4KaonPlusInelasticProcess theKaonPlusInelastic;
169 G4LEKaonPlusInelastic* theLEKaonPlusModel;
170 G4HEKaonPlusInelastic* theHEKaonPlusModel;
171 G4MultipleScattering theKaonPlusMult;
172 G4hIonisation theKaonPlusIonisation;
173
174 // K -
175 G4KaonMinusInelasticProcess theKaonMinusInelastic;
176 G4LEKaonMinusInelastic* theLEKaonMinusModel;
177 G4HEKaonMinusInelastic* theHEKaonMinusModel;
178 G4MultipleScattering theKaonMinusMult;
179 G4hIonisation theKaonMinusIonisation;
180 #ifdef TRIUMF_STOP_KMINUS
181 G4KaonMinusAbsorption theKaonMinusAbsorption;
182 #else
183 G4PiMinusAbsorptionAtRest theKaonMinusAbsorption;
184 #endif
185
186 // K0L
187 G4KaonZeroLInelasticProcess theKaonZeroLInelastic;
188 G4LEKaonZeroLInelastic* theLEKaonZeroLModel;
189 G4HEKaonZeroInelastic* theHEKaonZeroLModel;
190
191 // K0S
192 G4KaonZeroSInelasticProcess theKaonZeroSInelastic;
193 G4LEKaonZeroSInelastic* theLEKaonZeroSModel;
194 G4HEKaonZeroInelastic* theHEKaonZeroSModel;
195
196 // Proton
197 G4ProtonInelasticProcess theProtonInelastic;
198 G4LEProtonInelastic* theLEProtonModel;
199 G4HEProtonInelastic* theHEProtonModel;
200 G4MultipleScattering theProtonMult;
201 G4hIonisation theProtonIonisation;
202
203 // anti-proton
204 G4AntiProtonInelasticProcess theAntiProtonInelastic;
205 G4LEAntiProtonInelastic* theLEAntiProtonModel;
206 G4HEAntiProtonInelastic* theHEAntiProtonModel;
207 G4MultipleScattering theAntiProtonMult;
208 G4hIonisation theAntiProtonIonisation;
209 G4AntiProtonAnnihilationAtRest theAntiProtonAnnihilation;
210
211 // neutron
212 G4HadronElasticProcess* theNeutronElasticProcess;
213 G4LElastic* theElasticModel1;
214 G4NeutronHPElastic * theElasticNeutron;
215 G4NeutronHPElasticData * theNeutronData;
216
217 G4NeutronInelasticProcess* theInelasticProcess;
218 G4LENeutronInelastic* theInelasticModel;
219 G4HENeutronInelastic* theHEInelasticModel;
220 G4NeutronHPInelastic * theLENeutronInelasticModel;
221 G4NeutronHPInelasticData * theNeutronData1;
222 //G4NeutronIsotopeProduction * aProductionModel;
223 G4HadronFissionProcess* theFissionProcess;
224 G4LFission* theFissionModel;
225 G4NeutronHPFission * theLENeutronFissionModel;
226 G4NeutronHPFissionData * theNeutronData2;
227
228 G4HadronCaptureProcess* theCaptureProcess;
229 G4LCapture* theCaptureModel;
230 G4NeutronHPCapture * theLENeutronCaptureModel;
231 G4NeutronHPCaptureData * theNeutronData3;
232
233
234 // anti-neutron
235 G4AntiNeutronInelasticProcess theAntiNeutronInelastic;
236 G4LEAntiNeutronInelastic* theLEAntiNeutronModel;
237 G4HEAntiNeutronInelastic* theHEAntiNeutronModel;
238 G4AntiNeutronAnnihilationAtRest theAntiNeutronAnnihilation;
239
240 // Lambda
241 G4LambdaInelasticProcess theLambdaInelastic;
242 G4LELambdaInelastic* theLELambdaModel;
243 G4HELambdaInelastic* theHELambdaModel;
244
245 // AntiLambda
246 G4AntiLambdaInelasticProcess theAntiLambdaInelastic;
247 G4LEAntiLambdaInelastic* theLEAntiLambdaModel;
248 G4HEAntiLambdaInelastic* theHEAntiLambdaModel;
249
250 // SigmaMinus
251 G4SigmaMinusInelasticProcess theSigmaMinusInelastic;
252 G4LESigmaMinusInelastic* theLESigmaMinusModel;
253 G4HESigmaMinusInelastic* theHESigmaMinusModel;
254 G4MultipleScattering theSigmaMinusMult;
255 G4hIonisation theSigmaMinusIonisation;
256
257 // AntiSigmaMinus
258 G4AntiSigmaMinusInelasticProcess theAntiSigmaMinusInelastic;
259 G4LEAntiSigmaMinusInelastic* theLEAntiSigmaMinusModel;
260 G4HEAntiSigmaMinusInelastic* theHEAntiSigmaMinusModel;
261 G4MultipleScattering theAntiSigmaMinusMult;
262 G4hIonisation theAntiSigmaMinusIonisation;
263
264 // SigmaPlus
265 G4SigmaPlusInelasticProcess theSigmaPlusInelastic;
266 G4LESigmaPlusInelastic* theLESigmaPlusModel;
267 G4HESigmaPlusInelastic* theHESigmaPlusModel;
268 G4MultipleScattering theSigmaPlusMult;
269 G4hIonisation theSigmaPlusIonisation;
270
271 // AntiSigmaPlus
272 G4AntiSigmaPlusInelasticProcess theAntiSigmaPlusInelastic;
273 G4LEAntiSigmaPlusInelastic* theLEAntiSigmaPlusModel;
274 G4HEAntiSigmaPlusInelastic* theHEAntiSigmaPlusModel;
275 G4MultipleScattering theAntiSigmaPlusMult;
276 G4hIonisation theAntiSigmaPlusIonisation;
277
278 // XiZero
279 G4XiZeroInelasticProcess theXiZeroInelastic;
280 G4LEXiZeroInelastic* theLEXiZeroModel;
281 G4HEXiZeroInelastic* theHEXiZeroModel;
282
283 // AntiXiZero
284 G4AntiXiZeroInelasticProcess theAntiXiZeroInelastic;
285 G4LEAntiXiZeroInelastic* theLEAntiXiZeroModel;
286 G4HEAntiXiZeroInelastic* theHEAntiXiZeroModel;
287
288 // XiMinus
289 G4XiMinusInelasticProcess theXiMinusInelastic;
290 G4LEXiMinusInelastic* theLEXiMinusModel;
291 G4HEXiMinusInelastic* theHEXiMinusModel;
292 G4MultipleScattering theXiMinusMult;
293 G4hIonisation theXiMinusIonisation;
294
295 // AntiXiMinus
296 G4AntiXiMinusInelasticProcess theAntiXiMinusInelastic;
297 G4LEAntiXiMinusInelastic* theLEAntiXiMinusModel;
298 G4HEAntiXiMinusInelastic* theHEAntiXiMinusModel;
299 G4MultipleScattering theAntiXiMinusMult;
300 G4hIonisation theAntiXiMinusIonisation;
301
302 // OmegaMinus
303 G4OmegaMinusInelasticProcess theOmegaMinusInelastic;
304 G4LEOmegaMinusInelastic* theLEOmegaMinusModel;
305 G4HEOmegaMinusInelastic* theHEOmegaMinusModel;
306 G4MultipleScattering theOmegaMinusMult;
307 G4hIonisation theOmegaMinusIonisation;
308
309 // AntiOmegaMinus
310 G4AntiOmegaMinusInelasticProcess theAntiOmegaMinusInelastic;
311 G4LEAntiOmegaMinusInelastic* theLEAntiOmegaMinusModel;
312 G4HEAntiOmegaMinusInelastic* theHEAntiOmegaMinusModel;
313 G4MultipleScattering theAntiOmegaMinusMult;
314 G4hIonisation theAntiOmegaMinusIonisation;
315
316
317 };
318
319
320 #endif
321

  ViewVC Help
Powered by ViewVC 1.1.23