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