source: trunk/examples/extended/runAndEvent/RE01/include/RE01HadronPhysics.hh@ 1036

Last change on this file since 1036 was 807, checked in by garnier, 17 years ago

update

File size: 11.7 KB
RevLine 
[807]1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// $Id: RE01HadronPhysics.hh,v 1.2 2006/06/29 17:42:50 gunter Exp $
28// GEANT4 tag $Name: $
29//
30
31#ifndef RE01HadronPhysics_h
32#define RE01HadronPhysics_h 1
33
34// #include "globals.hh"
35// #include "G4ios.hh"
36// #include <vector>
37
38#include "G4VPhysicsConstructor.hh"
39
40/*
41
42#include "G4HadronElasticProcess.hh"
43#include "G4HadronFissionProcess.hh"
44#include "G4HadronCaptureProcess.hh"
45
46#include "G4PionPlusInelasticProcess.hh"
47#include "G4PionMinusInelasticProcess.hh"
48#include "G4KaonPlusInelasticProcess.hh"
49#include "G4KaonZeroSInelasticProcess.hh"
50#include "G4KaonZeroLInelasticProcess.hh"
51#include "G4KaonMinusInelasticProcess.hh"
52#include "G4ProtonInelasticProcess.hh"
53#include "G4AntiProtonInelasticProcess.hh"
54#include "G4NeutronInelasticProcess.hh"
55#include "G4AntiNeutronInelasticProcess.hh"
56#include "G4LambdaInelasticProcess.hh"
57#include "G4AntiLambdaInelasticProcess.hh"
58#include "G4SigmaPlusInelasticProcess.hh"
59#include "G4SigmaMinusInelasticProcess.hh"
60#include "G4AntiSigmaPlusInelasticProcess.hh"
61#include "G4AntiSigmaMinusInelasticProcess.hh"
62#include "G4XiZeroInelasticProcess.hh"
63#include "G4XiMinusInelasticProcess.hh"
64#include "G4AntiXiZeroInelasticProcess.hh"
65#include "G4AntiXiMinusInelasticProcess.hh"
66#include "G4DeuteronInelasticProcess.hh"
67#include "G4TritonInelasticProcess.hh"
68#include "G4AlphaInelasticProcess.hh"
69#include "G4OmegaMinusInelasticProcess.hh"
70#include "G4AntiOmegaMinusInelasticProcess.hh"
71
72// Low-energy Models
73#include "G4LElastic.hh"
74#include "G4LFission.hh"
75#include "G4LCapture.hh"
76
77#include "G4LEPionPlusInelastic.hh"
78#include "G4LEPionMinusInelastic.hh"
79#include "G4LEKaonPlusInelastic.hh"
80#include "G4LEKaonZeroSInelastic.hh"
81#include "G4LEKaonZeroLInelastic.hh"
82#include "G4LEKaonMinusInelastic.hh"
83#include "G4LEProtonInelastic.hh"
84#include "G4LEAntiProtonInelastic.hh"
85#include "G4LENeutronInelastic.hh"
86#include "G4LEAntiNeutronInelastic.hh"
87#include "G4LELambdaInelastic.hh"
88#include "G4LEAntiLambdaInelastic.hh"
89#include "G4LESigmaPlusInelastic.hh"
90#include "G4LESigmaMinusInelastic.hh"
91#include "G4LEAntiSigmaPlusInelastic.hh"
92#include "G4LEAntiSigmaMinusInelastic.hh"
93#include "G4LEXiZeroInelastic.hh"
94#include "G4LEXiMinusInelastic.hh"
95#include "G4LEAntiXiZeroInelastic.hh"
96#include "G4LEAntiXiMinusInelastic.hh"
97#include "G4LEDeuteronInelastic.hh"
98#include "G4LETritonInelastic.hh"
99#include "G4LEAlphaInelastic.hh"
100#include "G4LEOmegaMinusInelastic.hh"
101#include "G4LEAntiOmegaMinusInelastic.hh"
102
103// High-energy Models
104
105#include "G4HEPionPlusInelastic.hh"
106#include "G4HEPionMinusInelastic.hh"
107#include "G4HEKaonPlusInelastic.hh"
108#include "G4HEKaonZeroInelastic.hh"
109#include "G4HEKaonZeroInelastic.hh"
110#include "G4HEKaonMinusInelastic.hh"
111#include "G4HEProtonInelastic.hh"
112#include "G4HEAntiProtonInelastic.hh"
113#include "G4HENeutronInelastic.hh"
114#include "G4HEAntiNeutronInelastic.hh"
115#include "G4HELambdaInelastic.hh"
116#include "G4HEAntiLambdaInelastic.hh"
117#include "G4HESigmaPlusInelastic.hh"
118#include "G4HESigmaMinusInelastic.hh"
119#include "G4HEAntiSigmaPlusInelastic.hh"
120#include "G4HEAntiSigmaMinusInelastic.hh"
121#include "G4HEXiZeroInelastic.hh"
122#include "G4HEXiMinusInelastic.hh"
123#include "G4HEAntiXiZeroInelastic.hh"
124#include "G4HEAntiXiMinusInelastic.hh"
125#include "G4HEOmegaMinusInelastic.hh"
126#include "G4HEAntiOmegaMinusInelastic.hh"
127
128// Stopping processes
129#include "G4AntiProtonAnnihilationAtRest.hh"
130#include "G4AntiNeutronAnnihilationAtRest.hh"
131
132#ifdef TRIUMF_STOP_PIMINUS
133#include "G4PionMinusAbsorptionAtRest.hh"
134#else
135#include "G4PiMinusAbsorptionAtRest.hh"
136#endif
137#ifdef TRIUMF_STOP_KMINUS
138#include "G4KaonMinusAbsorption.hh"
139#else
140#include "G4KaonMinusAbsorptionAtRest.hh"
141#endif
142
143// quark gluon string model with chips afterburner.
144#include "G4TheoFSGenerator.hh"
145#include "G4ExcitationHandler.hh"
146#include "G4PreCompoundModel.hh"
147#include "G4GeneratorPrecompoundInterface.hh"
148#include "G4QGSModel.hh"
149#include "G4QGSParticipants.hh"
150#include "G4QGSMFragmentation.hh"
151#include "G4ExcitedStringDecay.hh"
152
153*/
154
155class RE01HadronPhysics : public G4VPhysicsConstructor
156{
157 public:
158 RE01HadronPhysics(const G4String& name ="hadron");
159 virtual ~RE01HadronPhysics();
160
161 // This method will be invoked in the Construct() method.
162 // each particle type will be instantiated
163 virtual void ConstructParticle();
164
165 // This method will be invoked in the Construct() method.
166 // each physics process will be instantiated and
167 // registered to the process manager of each particle type
168 virtual void ConstructProcess();
169
170 /*
171 protected:
172 // Pi +
173 G4PionPlusInelasticProcess thePionPlusInelastic;
174 G4LEPionPlusInelastic* theLEPionPlusModel;
175 G4MultipleScattering thePionPlusMult;
176 G4hIonisation thePionPlusIonisation;
177
178 // Pi -
179 G4PionMinusInelasticProcess thePionMinusInelastic;
180 G4LEPionMinusInelastic* theLEPionMinusModel;
181 G4MultipleScattering thePionMinusMult;
182 G4hIonisation thePionMinusIonisation;
183#ifdef TRIUMF_STOP_PIMINUS
184 G4PionMinusAbsorptionAtRest thePionMinusAbsorption;
185#else
186 G4PiMinusAbsorptionAtRest thePionMinusAbsorption;
187#endif
188
189 // pi+ and pi-
190
191 G4TheoFSGenerator theTheoModel;
192 G4ExcitationHandler theHandler;
193 G4PreCompoundModel * thePreEquilib;
194 G4GeneratorPrecompoundInterface theCascade;
195 G4QGSModel< G4QGSParticipants > theStringModel;
196 G4QGSMFragmentation theFragmentation;
197 G4ExcitedStringDecay * theStringDecay;
198
199 // K +
200 G4KaonPlusInelasticProcess theKaonPlusInelastic;
201 G4LEKaonPlusInelastic* theLEKaonPlusModel;
202 G4HEKaonPlusInelastic* theHEKaonPlusModel;
203 G4MultipleScattering theKaonPlusMult;
204 G4hIonisation theKaonPlusIonisation;
205
206 // K -
207 G4KaonMinusInelasticProcess theKaonMinusInelastic;
208 G4LEKaonMinusInelastic* theLEKaonMinusModel;
209 G4HEKaonMinusInelastic* theHEKaonMinusModel;
210 G4MultipleScattering theKaonMinusMult;
211 G4hIonisation theKaonMinusIonisation;
212#ifdef TRIUMF_STOP_KMINUS
213 G4KaonMinusAbsorption theKaonMinusAbsorption;
214#else
215 G4PiMinusAbsorptionAtRest theKaonMinusAbsorption;
216#endif
217
218 // K0L
219 G4KaonZeroLInelasticProcess theKaonZeroLInelastic;
220 G4LEKaonZeroLInelastic* theLEKaonZeroLModel;
221 G4HEKaonZeroInelastic* theHEKaonZeroLModel;
222
223 // K0S
224 G4KaonZeroSInelasticProcess theKaonZeroSInelastic;
225 G4LEKaonZeroSInelastic* theLEKaonZeroSModel;
226 G4HEKaonZeroInelastic* theHEKaonZeroSModel;
227
228 // Proton
229 G4ProtonInelasticProcess theProtonInelastic;
230 G4LEProtonInelastic* theLEProtonModel;
231 G4HEProtonInelastic* theHEProtonModel;
232 G4MultipleScattering theProtonMult;
233 G4hIonisation theProtonIonisation;
234
235 // anti-proton
236 G4AntiProtonInelasticProcess theAntiProtonInelastic;
237 G4LEAntiProtonInelastic* theLEAntiProtonModel;
238 G4HEAntiProtonInelastic* theHEAntiProtonModel;
239 G4MultipleScattering theAntiProtonMult;
240 G4hIonisation theAntiProtonIonisation;
241 G4AntiProtonAnnihilationAtRest theAntiProtonAnnihilation;
242
243 // neutron
244 G4NeutronInelasticProcess theNeutronInelastic;
245 G4LENeutronInelastic* theLENeutronModel;
246 G4HENeutronInelastic* theHENeutronModel;
247 G4HadronFissionProcess theNeutronFission;
248 G4LFission* theNeutronFissionModel;
249 G4HadronCaptureProcess theNeutronCapture;
250 G4LCapture* theNeutronCaptureModel;
251
252
253 // anti-neutron
254 G4AntiNeutronInelasticProcess theAntiNeutronInelastic;
255 G4LEAntiNeutronInelastic* theLEAntiNeutronModel;
256 G4HEAntiNeutronInelastic* theHEAntiNeutronModel;
257 G4AntiNeutronAnnihilationAtRest theAntiNeutronAnnihilation;
258
259 // Lambda
260 G4LambdaInelasticProcess theLambdaInelastic;
261 G4LELambdaInelastic* theLELambdaModel;
262 G4HELambdaInelastic* theHELambdaModel;
263
264 // AntiLambda
265 G4AntiLambdaInelasticProcess theAntiLambdaInelastic;
266 G4LEAntiLambdaInelastic* theLEAntiLambdaModel;
267 G4HEAntiLambdaInelastic* theHEAntiLambdaModel;
268
269 // SigmaMinus
270 G4SigmaMinusInelasticProcess theSigmaMinusInelastic;
271 G4LESigmaMinusInelastic* theLESigmaMinusModel;
272 G4HESigmaMinusInelastic* theHESigmaMinusModel;
273 G4MultipleScattering theSigmaMinusMult;
274 G4hIonisation theSigmaMinusIonisation;
275
276 // AntiSigmaMinus
277 G4AntiSigmaMinusInelasticProcess theAntiSigmaMinusInelastic;
278 G4LEAntiSigmaMinusInelastic* theLEAntiSigmaMinusModel;
279 G4HEAntiSigmaMinusInelastic* theHEAntiSigmaMinusModel;
280 G4MultipleScattering theAntiSigmaMinusMult;
281 G4hIonisation theAntiSigmaMinusIonisation;
282
283 // SigmaPlus
284 G4SigmaPlusInelasticProcess theSigmaPlusInelastic;
285 G4LESigmaPlusInelastic* theLESigmaPlusModel;
286 G4HESigmaPlusInelastic* theHESigmaPlusModel;
287 G4MultipleScattering theSigmaPlusMult;
288 G4hIonisation theSigmaPlusIonisation;
289
290 // AntiSigmaPlus
291 G4AntiSigmaPlusInelasticProcess theAntiSigmaPlusInelastic;
292 G4LEAntiSigmaPlusInelastic* theLEAntiSigmaPlusModel;
293 G4HEAntiSigmaPlusInelastic* theHEAntiSigmaPlusModel;
294 G4MultipleScattering theAntiSigmaPlusMult;
295 G4hIonisation theAntiSigmaPlusIonisation;
296
297 // XiZero
298 G4XiZeroInelasticProcess theXiZeroInelastic;
299 G4LEXiZeroInelastic* theLEXiZeroModel;
300 G4HEXiZeroInelastic* theHEXiZeroModel;
301
302 // AntiXiZero
303 G4AntiXiZeroInelasticProcess theAntiXiZeroInelastic;
304 G4LEAntiXiZeroInelastic* theLEAntiXiZeroModel;
305 G4HEAntiXiZeroInelastic* theHEAntiXiZeroModel;
306
307 // XiMinus
308 G4XiMinusInelasticProcess theXiMinusInelastic;
309 G4LEXiMinusInelastic* theLEXiMinusModel;
310 G4HEXiMinusInelastic* theHEXiMinusModel;
311 G4MultipleScattering theXiMinusMult;
312 G4hIonisation theXiMinusIonisation;
313
314 // AntiXiMinus
315 G4AntiXiMinusInelasticProcess theAntiXiMinusInelastic;
316 G4LEAntiXiMinusInelastic* theLEAntiXiMinusModel;
317 G4HEAntiXiMinusInelastic* theHEAntiXiMinusModel;
318 G4MultipleScattering theAntiXiMinusMult;
319 G4hIonisation theAntiXiMinusIonisation;
320
321 // OmegaMinus
322 G4OmegaMinusInelasticProcess theOmegaMinusInelastic;
323 G4LEOmegaMinusInelastic* theLEOmegaMinusModel;
324 G4HEOmegaMinusInelastic* theHEOmegaMinusModel;
325 G4MultipleScattering theOmegaMinusMult;
326 G4hIonisation theOmegaMinusIonisation;
327
328 // AntiOmegaMinus
329 G4AntiOmegaMinusInelasticProcess theAntiOmegaMinusInelastic;
330 G4LEAntiOmegaMinusInelastic* theLEAntiOmegaMinusModel;
331 G4HEAntiOmegaMinusInelastic* theHEAntiOmegaMinusModel;
332 G4MultipleScattering theAntiOmegaMinusMult;
333 G4hIonisation theAntiOmegaMinusIonisation;
334
335 */
336};
337
338
339#endif
340
341
342
343
344
Note: See TracBrowser for help on using the repository browser.