BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
ExN04HadronPhysics.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * DISCLAIMER *
4// * *
5// * The following disclaimer summarizes all the specific disclaimers *
6// * of contributors to this software. The specific disclaimers,which *
7// * govern, are listed with their locations in: *
8// * http://cern.ch/geant4/license *
9// * *
10// * Neither the authors of this software system, nor their employing *
11// * institutes,nor the agencies providing financial support for this *
12// * work make any representation or warranty, express or implied, *
13// * regarding this software system or assume any liability for its *
14// * use. *
15// * *
16// * This code implementation is the intellectual property of the *
17// * GEANT4 collaboration. *
18// * By copying, distributing or modifying the Program (or any work *
19// * based on the Program) you indicate your acceptance of this *
20// * statement, and all its terms. *
21// ********************************************************************
22//
23//
24// $Id: ExN04HadronPhysics.hh,v 1.1.1.1 2004/09/28 05:16:53 liwd Exp $
25// GEANT4 tag $Name: G4Svc-00-01-52 $
26//
27//
28// ------------------------------------------------------------
29// GEANT 4 class header file
30// Class Description:
31// This class is an derived class of G4VPhysicsConstructor
32//
33// -------------------------------------------
34// History
35// first version 12 Nov. 2000 by H.Kurashige
36// ------------------------------------------------------------
37#ifndef ExN04HadronPhysics_h
38#define ExN04HadronPhysics_h 1
39
40#include "globals.hh"
41#include "G4ios.hh"
42
43#include "G4VPhysicsConstructor.hh"
44
45#include "G4MultipleScattering.hh"
46#include "G4hIonisation.hh"
47
48#include "G4HadronElasticProcess.hh"
49#include "G4HadronFissionProcess.hh"
50#include "G4HadronCaptureProcess.hh"
51
52#include "G4PionPlusInelasticProcess.hh"
53#include "G4PionMinusInelasticProcess.hh"
54#include "G4KaonPlusInelasticProcess.hh"
55#include "G4KaonZeroSInelasticProcess.hh"
56#include "G4KaonZeroLInelasticProcess.hh"
57#include "G4KaonMinusInelasticProcess.hh"
58#include "G4ProtonInelasticProcess.hh"
59#include "G4AntiProtonInelasticProcess.hh"
60#include "G4NeutronInelasticProcess.hh"
61#include "G4AntiNeutronInelasticProcess.hh"
62#include "G4LambdaInelasticProcess.hh"
63#include "G4AntiLambdaInelasticProcess.hh"
64#include "G4SigmaPlusInelasticProcess.hh"
65#include "G4SigmaMinusInelasticProcess.hh"
66#include "G4AntiSigmaPlusInelasticProcess.hh"
67#include "G4AntiSigmaMinusInelasticProcess.hh"
68#include "G4XiZeroInelasticProcess.hh"
69#include "G4XiMinusInelasticProcess.hh"
70#include "G4AntiXiZeroInelasticProcess.hh"
71#include "G4AntiXiMinusInelasticProcess.hh"
72#include "G4DeuteronInelasticProcess.hh"
73#include "G4TritonInelasticProcess.hh"
74#include "G4AlphaInelasticProcess.hh"
75#include "G4OmegaMinusInelasticProcess.hh"
76#include "G4AntiOmegaMinusInelasticProcess.hh"
77
78// Low-energy Models
79#include "G4LElastic.hh"
80#include "G4LFission.hh"
81#include "G4LCapture.hh"
82
83#include "G4LEPionPlusInelastic.hh"
84#include "G4LEPionMinusInelastic.hh"
85#include "G4LEKaonPlusInelastic.hh"
86#include "G4LEKaonZeroSInelastic.hh"
87#include "G4LEKaonZeroLInelastic.hh"
88#include "G4LEKaonMinusInelastic.hh"
89#include "G4LEProtonInelastic.hh"
90#include "G4LEAntiProtonInelastic.hh"
91#include "G4LENeutronInelastic.hh"
92#include "G4LEAntiNeutronInelastic.hh"
93#include "G4LELambdaInelastic.hh"
94#include "G4LEAntiLambdaInelastic.hh"
95#include "G4LESigmaPlusInelastic.hh"
96#include "G4LESigmaMinusInelastic.hh"
97#include "G4LEAntiSigmaPlusInelastic.hh"
98#include "G4LEAntiSigmaMinusInelastic.hh"
99#include "G4LEXiZeroInelastic.hh"
100#include "G4LEXiMinusInelastic.hh"
101#include "G4LEAntiXiZeroInelastic.hh"
102#include "G4LEAntiXiMinusInelastic.hh"
103#include "G4LEDeuteronInelastic.hh"
104#include "G4LETritonInelastic.hh"
105#include "G4LEAlphaInelastic.hh"
106#include "G4LEOmegaMinusInelastic.hh"
107#include "G4LEAntiOmegaMinusInelastic.hh"
108
109// High-energy Models
110
111#include "G4HEPionPlusInelastic.hh"
112#include "G4HEPionMinusInelastic.hh"
113#include "G4HEKaonPlusInelastic.hh"
114#include "G4HEKaonZeroInelastic.hh"
115#include "G4HEKaonZeroInelastic.hh"
116#include "G4HEKaonMinusInelastic.hh"
117#include "G4HEProtonInelastic.hh"
118#include "G4HEAntiProtonInelastic.hh"
119#include "G4HENeutronInelastic.hh"
120#include "G4HEAntiNeutronInelastic.hh"
121#include "G4HELambdaInelastic.hh"
122#include "G4HEAntiLambdaInelastic.hh"
123#include "G4HESigmaPlusInelastic.hh"
124#include "G4HESigmaMinusInelastic.hh"
125#include "G4HEAntiSigmaPlusInelastic.hh"
126#include "G4HEAntiSigmaMinusInelastic.hh"
127#include "G4HEXiZeroInelastic.hh"
128#include "G4HEXiMinusInelastic.hh"
129#include "G4HEAntiXiZeroInelastic.hh"
130#include "G4HEAntiXiMinusInelastic.hh"
131#include "G4HEOmegaMinusInelastic.hh"
132#include "G4HEAntiOmegaMinusInelastic.hh"
133
134// Stopping processes
135#include "G4AntiProtonAnnihilationAtRest.hh"
136#include "G4AntiNeutronAnnihilationAtRest.hh"
137
138#ifdef TRIUMF_STOP_PIMINUS
139#include "G4PionMinusAbsorptionAtRest.hh"
140#else
141#include "G4PiMinusAbsorptionAtRest.hh"
142#endif
143#ifdef TRIUMF_STOP_KMINUS
144#include "G4KaonMinusAbsorption.hh"
145#else
146#include "G4KaonMinusAbsorptionAtRest.hh"
147#endif
148
149class ExN04HadronPhysics : public G4VPhysicsConstructor
150{
151 public:
152 ExN04HadronPhysics(const G4String& name ="hadron");
153 virtual ~ExN04HadronPhysics();
154
155 public:
156 // This method will be invoked in the Construct() method.
157 // each particle type will be instantiated
158 virtual void ConstructParticle();
159
160 // This method will be invoked in the Construct() method.
161 // each physics process will be instantiated and
162 // registered to the process manager of each particle type
163 virtual void ConstructProcess();
164
165 protected:
166 // Elastic Process
167 G4HadronElasticProcess theElasticProcess;
168 G4LElastic* theElasticModel;
169
170 // Pi +
171 G4PionPlusInelasticProcess thePionPlusInelastic;
172 G4LEPionPlusInelastic* theLEPionPlusModel;
173 G4HEPionPlusInelastic* theHEPionPlusModel;
174 G4MultipleScattering thePionPlusMult;
176
177 // Pi -
178 G4PionMinusInelasticProcess thePionMinusInelastic;
179 G4LEPionMinusInelastic* theLEPionMinusModel;
180 G4HEPionMinusInelastic* theHEPionMinusModel;
181 G4MultipleScattering thePionMinusMult;
183#ifdef TRIUMF_STOP_PIMINUS
184 G4PionMinusAbsorptionAtRest thePionMinusAbsorption;
185#else
186 G4PiMinusAbsorptionAtRest thePionMinusAbsorption;
187#endif
188
189 // K +
190 G4KaonPlusInelasticProcess theKaonPlusInelastic;
191 G4LEKaonPlusInelastic* theLEKaonPlusModel;
192 G4HEKaonPlusInelastic* theHEKaonPlusModel;
193 G4MultipleScattering theKaonPlusMult;
195
196 // K -
197 G4KaonMinusInelasticProcess theKaonMinusInelastic;
198 G4LEKaonMinusInelastic* theLEKaonMinusModel;
199 G4HEKaonMinusInelastic* theHEKaonMinusModel;
200 G4MultipleScattering theKaonMinusMult;
202#ifdef TRIUMF_STOP_KMINUS
203 G4KaonMinusAbsorption theKaonMinusAbsorption;
204#else
205 G4PiMinusAbsorptionAtRest theKaonMinusAbsorption;
206#endif
207
208 // K0L
209 G4KaonZeroLInelasticProcess theKaonZeroLInelastic;
210 G4LEKaonZeroLInelastic* theLEKaonZeroLModel;
211 G4HEKaonZeroInelastic* theHEKaonZeroLModel;
212
213 // K0S
214 G4KaonZeroSInelasticProcess theKaonZeroSInelastic;
215 G4LEKaonZeroSInelastic* theLEKaonZeroSModel;
216 G4HEKaonZeroInelastic* theHEKaonZeroSModel;
217
218 // Proton
219 G4ProtonInelasticProcess theProtonInelastic;
220 G4LEProtonInelastic* theLEProtonModel;
221 G4HEProtonInelastic* theHEProtonModel;
222 G4MultipleScattering theProtonMult;
223 G4hIonisation theProtonIonisation;
224
225 // anti-proton
226 G4AntiProtonInelasticProcess theAntiProtonInelastic;
227 G4LEAntiProtonInelastic* theLEAntiProtonModel;
228 G4HEAntiProtonInelastic* theHEAntiProtonModel;
229 G4MultipleScattering theAntiProtonMult;
231 G4AntiProtonAnnihilationAtRest theAntiProtonAnnihilation;
232
233 // neutron
234 G4NeutronInelasticProcess theNeutronInelastic;
235 G4LENeutronInelastic* theLENeutronModel;
236 G4HENeutronInelastic* theHENeutronModel;
237 G4HadronFissionProcess theNeutronFission;
239 G4HadronCaptureProcess theNeutronCapture;
241
242
243 // anti-neutron
244 G4AntiNeutronInelasticProcess theAntiNeutronInelastic;
245 G4LEAntiNeutronInelastic* theLEAntiNeutronModel;
246 G4HEAntiNeutronInelastic* theHEAntiNeutronModel;
247 G4AntiNeutronAnnihilationAtRest theAntiNeutronAnnihilation;
248
249 // Lambda
250 G4LambdaInelasticProcess theLambdaInelastic;
251 G4LELambdaInelastic* theLELambdaModel;
252 G4HELambdaInelastic* theHELambdaModel;
253
254 // AntiLambda
255 G4AntiLambdaInelasticProcess theAntiLambdaInelastic;
256 G4LEAntiLambdaInelastic* theLEAntiLambdaModel;
257 G4HEAntiLambdaInelastic* theHEAntiLambdaModel;
258
259 // SigmaMinus
260 G4SigmaMinusInelasticProcess theSigmaMinusInelastic;
261 G4LESigmaMinusInelastic* theLESigmaMinusModel;
262 G4HESigmaMinusInelastic* theHESigmaMinusModel;
263 G4MultipleScattering theSigmaMinusMult;
265
266 // AntiSigmaMinus
267 G4AntiSigmaMinusInelasticProcess theAntiSigmaMinusInelastic;
268 G4LEAntiSigmaMinusInelastic* theLEAntiSigmaMinusModel;
269 G4HEAntiSigmaMinusInelastic* theHEAntiSigmaMinusModel;
270 G4MultipleScattering theAntiSigmaMinusMult;
272
273 // SigmaPlus
274 G4SigmaPlusInelasticProcess theSigmaPlusInelastic;
275 G4LESigmaPlusInelastic* theLESigmaPlusModel;
276 G4HESigmaPlusInelastic* theHESigmaPlusModel;
277 G4MultipleScattering theSigmaPlusMult;
279
280 // AntiSigmaPlus
281 G4AntiSigmaPlusInelasticProcess theAntiSigmaPlusInelastic;
282 G4LEAntiSigmaPlusInelastic* theLEAntiSigmaPlusModel;
283 G4HEAntiSigmaPlusInelastic* theHEAntiSigmaPlusModel;
284 G4MultipleScattering theAntiSigmaPlusMult;
286
287 // XiZero
288 G4XiZeroInelasticProcess theXiZeroInelastic;
289 G4LEXiZeroInelastic* theLEXiZeroModel;
290 G4HEXiZeroInelastic* theHEXiZeroModel;
291
292 // AntiXiZero
293 G4AntiXiZeroInelasticProcess theAntiXiZeroInelastic;
294 G4LEAntiXiZeroInelastic* theLEAntiXiZeroModel;
295 G4HEAntiXiZeroInelastic* theHEAntiXiZeroModel;
296
297 // XiMinus
298 G4XiMinusInelasticProcess theXiMinusInelastic;
299 G4LEXiMinusInelastic* theLEXiMinusModel;
300 G4HEXiMinusInelastic* theHEXiMinusModel;
301 G4MultipleScattering theXiMinusMult;
302 G4hIonisation theXiMinusIonisation;
303
304 // AntiXiMinus
305 G4AntiXiMinusInelasticProcess theAntiXiMinusInelastic;
306 G4LEAntiXiMinusInelastic* theLEAntiXiMinusModel;
307 G4HEAntiXiMinusInelastic* theHEAntiXiMinusModel;
308 G4MultipleScattering theAntiXiMinusMult;
310
311 // OmegaMinus
312 G4OmegaMinusInelasticProcess theOmegaMinusInelastic;
313 G4LEOmegaMinusInelastic* theLEOmegaMinusModel;
314 G4HEOmegaMinusInelastic* theHEOmegaMinusModel;
315 G4MultipleScattering theOmegaMinusMult;
317
318 // AntiOmegaMinus
319 G4AntiOmegaMinusInelasticProcess theAntiOmegaMinusInelastic;
320 G4LEAntiOmegaMinusInelastic* theLEAntiOmegaMinusModel;
321 G4HEAntiOmegaMinusInelastic* theHEAntiOmegaMinusModel;
322 G4MultipleScattering theAntiOmegaMinusMult;
324
325
326};
327
328
329#endif
330
G4LENeutronInelastic * theLENeutronModel
G4AntiNeutronAnnihilationAtRest theAntiNeutronAnnihilation
G4AntiProtonAnnihilationAtRest theAntiProtonAnnihilation
G4LCapture * theNeutronCaptureModel
G4MultipleScattering theOmegaMinusMult
G4ProtonInelasticProcess theProtonInelastic
G4MultipleScattering theKaonPlusMult
G4MultipleScattering theAntiProtonMult
G4HEAntiXiMinusInelastic * theHEAntiXiMinusModel
G4XiZeroInelasticProcess theXiZeroInelastic
G4HENeutronInelastic * theHENeutronModel
G4LEAntiSigmaMinusInelastic * theLEAntiSigmaMinusModel
G4HadronCaptureProcess theNeutronCapture
G4HEKaonMinusInelastic * theHEKaonMinusModel
G4HEKaonPlusInelastic * theHEKaonPlusModel
G4hIonisation theAntiOmegaMinusIonisation
G4MultipleScattering thePionPlusMult
G4HEPionMinusInelastic * theHEPionMinusModel
G4LESigmaPlusInelastic * theLESigmaPlusModel
G4MultipleScattering theKaonMinusMult
G4MultipleScattering thePionMinusMult
G4LElastic * theElasticModel
G4LEXiZeroInelastic * theLEXiZeroModel
virtual void ConstructProcess()
G4LEXiMinusInelastic * theLEXiMinusModel
G4PionMinusInelasticProcess thePionMinusInelastic
G4MultipleScattering theAntiSigmaMinusMult
G4KaonMinusInelasticProcess theKaonMinusInelastic
G4LEPionPlusInelastic * theLEPionPlusModel
G4AntiOmegaMinusInelasticProcess theAntiOmegaMinusInelastic
G4MultipleScattering theXiMinusMult
G4LEKaonZeroSInelastic * theLEKaonZeroSModel
G4SigmaMinusInelasticProcess theSigmaMinusInelastic
G4HEAntiSigmaMinusInelastic * theHEAntiSigmaMinusModel
G4HadronFissionProcess theNeutronFission
G4AntiXiMinusInelasticProcess theAntiXiMinusInelastic
G4LEProtonInelastic * theLEProtonModel
G4LEAntiXiMinusInelastic * theLEAntiXiMinusModel
G4HadronElasticProcess theElasticProcess
G4hIonisation theKaonMinusIonisation
G4LambdaInelasticProcess theLambdaInelastic
G4HEXiZeroInelastic * theHEXiZeroModel
G4hIonisation theProtonIonisation
G4hIonisation theAntiXiMinusIonisation
G4hIonisation theXiMinusIonisation
G4LEAntiSigmaPlusInelastic * theLEAntiSigmaPlusModel
G4OmegaMinusInelasticProcess theOmegaMinusInelastic
G4XiMinusInelasticProcess theXiMinusInelastic
G4LEOmegaMinusInelastic * theLEOmegaMinusModel
G4LEKaonZeroLInelastic * theLEKaonZeroLModel
G4HEKaonZeroInelastic * theHEKaonZeroSModel
G4LEAntiNeutronInelastic * theLEAntiNeutronModel
G4LEAntiOmegaMinusInelastic * theLEAntiOmegaMinusModel
G4LEKaonPlusInelastic * theLEKaonPlusModel
G4KaonPlusInelasticProcess theKaonPlusInelastic
G4KaonZeroLInelasticProcess theKaonZeroLInelastic
G4LEAntiProtonInelastic * theLEAntiProtonModel
G4hIonisation thePionPlusIonisation
G4SigmaPlusInelasticProcess theSigmaPlusInelastic
G4hIonisation theAntiSigmaMinusIonisation
G4AntiSigmaPlusInelasticProcess theAntiSigmaPlusInelastic
G4hIonisation theKaonPlusIonisation
G4AntiSigmaMinusInelasticProcess theAntiSigmaMinusInelastic
G4MultipleScattering theAntiSigmaPlusMult
G4MultipleScattering theSigmaPlusMult
G4HEXiMinusInelastic * theHEXiMinusModel
G4HEAntiSigmaPlusInelastic * theHEAntiSigmaPlusModel
G4LEAntiXiZeroInelastic * theLEAntiXiZeroModel
G4NeutronInelasticProcess theNeutronInelastic
G4MultipleScattering theProtonMult
G4AntiProtonInelasticProcess theAntiProtonInelastic
G4hIonisation theAntiSigmaPlusIonisation
G4HESigmaPlusInelastic * theHESigmaPlusModel
G4HESigmaMinusInelastic * theHESigmaMinusModel
G4LESigmaMinusInelastic * theLESigmaMinusModel
G4LEAntiLambdaInelastic * theLEAntiLambdaModel
G4hIonisation theOmegaMinusIonisation
virtual void ConstructParticle()
G4PionPlusInelasticProcess thePionPlusInelastic
G4AntiXiZeroInelasticProcess theAntiXiZeroInelastic
G4HEProtonInelastic * theHEProtonModel
G4PiMinusAbsorptionAtRest theKaonMinusAbsorption
G4AntiNeutronInelasticProcess theAntiNeutronInelastic
G4MultipleScattering theSigmaMinusMult
G4HEOmegaMinusInelastic * theHEOmegaMinusModel
G4HELambdaInelastic * theHELambdaModel
G4MultipleScattering theAntiXiMinusMult
G4LFission * theNeutronFissionModel
G4HEAntiXiZeroInelastic * theHEAntiXiZeroModel
G4KaonZeroSInelasticProcess theKaonZeroSInelastic
G4HEAntiLambdaInelastic * theHEAntiLambdaModel
G4LEPionMinusInelastic * theLEPionMinusModel
G4hIonisation thePionMinusIonisation
G4HEAntiOmegaMinusInelastic * theHEAntiOmegaMinusModel
G4LEKaonMinusInelastic * theLEKaonMinusModel
G4LELambdaInelastic * theLELambdaModel
G4MultipleScattering theAntiOmegaMinusMult
G4AntiLambdaInelasticProcess theAntiLambdaInelastic
G4hIonisation theSigmaPlusIonisation
G4HEPionPlusInelastic * theHEPionPlusModel
G4HEAntiProtonInelastic * theHEAntiProtonModel
G4hIonisation theAntiProtonIonisation
G4HEAntiNeutronInelastic * theHEAntiNeutronModel
G4HEKaonZeroInelastic * theHEKaonZeroLModel
G4PiMinusAbsorptionAtRest thePionMinusAbsorption
G4hIonisation theSigmaMinusIonisation