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

Annotation of /PamG4/include/HadronPhysics.hh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (hide annotations) (download) (vendor branch)
Tue Dec 13 16:20:39 2005 UTC (18 years, 11 months ago) by cafagna
Branch: start, MAIN
CVS Tags: v1r0, bogo, HEAD
Changes since 1.1: +0 -0 lines
Geant4 code for ND and Calorimeter

1 cafagna 1.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