1 |
|
2 |
#include "HadronPhysics.hh" |
3 |
|
4 |
#include "globals.hh" |
5 |
#include "G4ios.hh" |
6 |
|
7 |
|
8 |
HadronPhysics::HadronPhysics(const G4String& name) |
9 |
: G4VPhysicsConstructor(name) |
10 |
{ |
11 |
} |
12 |
|
13 |
HadronPhysics::~HadronPhysics() |
14 |
{ |
15 |
} |
16 |
|
17 |
#include "G4ParticleDefinition.hh" |
18 |
#include "G4ParticleTable.hh" |
19 |
|
20 |
// Nuclei |
21 |
#include "G4MesonConstructor.hh" |
22 |
#include "G4BaryonConstructor.hh" |
23 |
#include "G4ShortLivedConstructor.hh" |
24 |
|
25 |
void HadronPhysics::ConstructParticle() |
26 |
{ |
27 |
// Construct all mesons |
28 |
G4MesonConstructor pMesonConstructor; |
29 |
pMesonConstructor.ConstructParticle(); |
30 |
|
31 |
// Construct all barions |
32 |
G4BaryonConstructor pBaryonConstructor; |
33 |
pBaryonConstructor.ConstructParticle(); |
34 |
|
35 |
// Construct resonaces and quarks |
36 |
G4ShortLivedConstructor pShortLivedConstructor; |
37 |
pShortLivedConstructor.ConstructParticle(); |
38 |
|
39 |
} |
40 |
|
41 |
|
42 |
#include "G4ProcessManager.hh" |
43 |
|
44 |
|
45 |
void HadronPhysics::ConstructProcess() |
46 |
{ |
47 |
G4ProcessManager * pManager = 0; |
48 |
|
49 |
// Elastic Process |
50 |
theElasticModel = new G4LElastic(); |
51 |
theElasticProcess.RegisterMe(theElasticModel); |
52 |
|
53 |
// PionPlus |
54 |
pManager = G4PionPlus::PionPlus()->GetProcessManager(); |
55 |
// add process |
56 |
pManager->AddDiscreteProcess(&theElasticProcess); |
57 |
|
58 |
theLEPionPlusModel = new G4LEPionPlusInelastic(); |
59 |
theHEPionPlusModel = new G4HEPionPlusInelastic(); |
60 |
thePionPlusInelastic.RegisterMe(theLEPionPlusModel); |
61 |
thePionPlusInelastic.RegisterMe(theHEPionPlusModel); |
62 |
pManager->AddDiscreteProcess(&thePionPlusInelastic); |
63 |
|
64 |
pManager->AddProcess(&thePionPlusIonisation, ordInActive,2, 2); |
65 |
|
66 |
pManager->AddProcess(&thePionPlusMult); |
67 |
pManager->SetProcessOrdering(&thePionPlusMult, idxAlongStep, 1); |
68 |
pManager->SetProcessOrdering(&thePionPlusMult, idxPostStep, 1); |
69 |
|
70 |
// PionMinus |
71 |
pManager = G4PionMinus::PionMinus()->GetProcessManager(); |
72 |
// add process |
73 |
pManager->AddDiscreteProcess(&theElasticProcess); |
74 |
|
75 |
theLEPionMinusModel = new G4LEPionMinusInelastic(); |
76 |
theHEPionMinusModel = new G4HEPionMinusInelastic(); |
77 |
thePionMinusInelastic.RegisterMe(theLEPionMinusModel); |
78 |
thePionMinusInelastic.RegisterMe(theHEPionMinusModel); |
79 |
pManager->AddDiscreteProcess(&thePionMinusInelastic); |
80 |
|
81 |
pManager->AddProcess(&thePionMinusIonisation, ordInActive,2, 2); |
82 |
|
83 |
pManager->AddProcess(&thePionMinusMult); |
84 |
pManager->SetProcessOrdering(&thePionMinusMult, idxAlongStep, 1); |
85 |
pManager->SetProcessOrdering(&thePionMinusMult, idxPostStep, 1); |
86 |
|
87 |
pManager->AddRestProcess(&thePionMinusAbsorption, ordDefault); |
88 |
|
89 |
// KaonPlus |
90 |
pManager = G4KaonPlus::KaonPlus()->GetProcessManager(); |
91 |
// add process |
92 |
pManager->AddDiscreteProcess(&theElasticProcess); |
93 |
|
94 |
theLEKaonPlusModel = new G4LEKaonPlusInelastic(); |
95 |
theHEKaonPlusModel = new G4HEKaonPlusInelastic(); |
96 |
theKaonPlusInelastic.RegisterMe(theLEKaonPlusModel); |
97 |
theKaonPlusInelastic.RegisterMe(theHEKaonPlusModel); |
98 |
pManager->AddDiscreteProcess(&theKaonPlusInelastic); |
99 |
|
100 |
pManager->AddProcess(&theKaonPlusIonisation, ordInActive,2, 2); |
101 |
|
102 |
pManager->AddProcess(&theKaonPlusMult); |
103 |
pManager->SetProcessOrdering(&theKaonPlusMult, idxAlongStep, 1); |
104 |
pManager->SetProcessOrdering(&theKaonPlusMult, idxPostStep, 1); |
105 |
|
106 |
// KaonMinus |
107 |
pManager = G4KaonMinus::KaonMinus()->GetProcessManager(); |
108 |
// add process |
109 |
pManager->AddDiscreteProcess(&theElasticProcess); |
110 |
|
111 |
theLEKaonMinusModel = new G4LEKaonMinusInelastic(); |
112 |
theHEKaonMinusModel = new G4HEKaonMinusInelastic(); |
113 |
theKaonMinusInelastic.RegisterMe(theLEKaonMinusModel); |
114 |
theKaonMinusInelastic.RegisterMe(theHEKaonMinusModel); |
115 |
pManager->AddDiscreteProcess(&theKaonMinusInelastic); |
116 |
|
117 |
pManager->AddProcess(&theKaonMinusIonisation, ordInActive,2, 2); |
118 |
|
119 |
pManager->AddProcess(&theKaonMinusMult); |
120 |
pManager->SetProcessOrdering(&theKaonMinusMult, idxAlongStep, 1); |
121 |
pManager->SetProcessOrdering(&theKaonMinusMult, idxPostStep, 1); |
122 |
|
123 |
pManager->AddRestProcess(&theKaonMinusAbsorption, ordDefault); |
124 |
|
125 |
// KaonZeroL |
126 |
pManager = G4KaonZeroLong::KaonZeroLong()->GetProcessManager(); |
127 |
// add process |
128 |
pManager->AddDiscreteProcess(&theElasticProcess); |
129 |
|
130 |
theLEKaonZeroLModel = new G4LEKaonZeroLInelastic(); |
131 |
theHEKaonZeroLModel = new G4HEKaonZeroInelastic(); |
132 |
theKaonZeroLInelastic.RegisterMe(theLEKaonZeroLModel); |
133 |
theKaonZeroLInelastic.RegisterMe(theHEKaonZeroLModel); |
134 |
pManager->AddDiscreteProcess(&theKaonZeroLInelastic); |
135 |
|
136 |
// KaonZeroS |
137 |
pManager = G4KaonZeroShort::KaonZeroShort()->GetProcessManager(); |
138 |
// add process |
139 |
pManager->AddDiscreteProcess(&theElasticProcess); |
140 |
|
141 |
theLEKaonZeroSModel = new G4LEKaonZeroSInelastic(); |
142 |
theHEKaonZeroSModel = new G4HEKaonZeroInelastic(); |
143 |
theKaonZeroSInelastic.RegisterMe(theLEKaonZeroSModel); |
144 |
theKaonZeroSInelastic.RegisterMe(theHEKaonZeroSModel); |
145 |
pManager->AddDiscreteProcess(&theKaonZeroSInelastic); |
146 |
|
147 |
// Proton |
148 |
pManager = G4Proton::Proton()->GetProcessManager(); |
149 |
// add process |
150 |
pManager->AddDiscreteProcess(&theElasticProcess); |
151 |
|
152 |
theLEProtonModel = new G4LEProtonInelastic(); |
153 |
theHEProtonModel = new G4HEProtonInelastic(); |
154 |
theProtonInelastic.RegisterMe(theLEProtonModel); |
155 |
theProtonInelastic.RegisterMe(theHEProtonModel); |
156 |
pManager->AddDiscreteProcess(&theProtonInelastic); |
157 |
|
158 |
pManager->AddProcess(&theProtonIonisation, ordInActive,2, 2); |
159 |
|
160 |
pManager->AddProcess(&theProtonMult); |
161 |
pManager->SetProcessOrdering(&theProtonMult, idxAlongStep, 1); |
162 |
pManager->SetProcessOrdering(&theProtonMult, idxPostStep, 1); |
163 |
|
164 |
// anti-Proton |
165 |
pManager = G4AntiProton::AntiProton()->GetProcessManager(); |
166 |
// add process |
167 |
pManager->AddDiscreteProcess(&theElasticProcess); |
168 |
|
169 |
theLEAntiProtonModel = new G4LEAntiProtonInelastic(); |
170 |
theHEAntiProtonModel = new G4HEAntiProtonInelastic(); |
171 |
theAntiProtonInelastic.RegisterMe(theLEAntiProtonModel); |
172 |
theAntiProtonInelastic.RegisterMe(theHEAntiProtonModel); |
173 |
pManager->AddDiscreteProcess(&theAntiProtonInelastic); |
174 |
|
175 |
pManager->AddProcess(&theAntiProtonIonisation, ordInActive,2, 2); |
176 |
|
177 |
pManager->AddProcess(&theAntiProtonMult); |
178 |
pManager->SetProcessOrdering(&theAntiProtonMult, idxAlongStep, 1); |
179 |
pManager->SetProcessOrdering(&theAntiProtonMult, idxPostStep, 1); |
180 |
|
181 |
pManager->AddRestProcess(&theAntiProtonAnnihilation); |
182 |
|
183 |
// Neutron |
184 |
pManager = G4Neutron::Neutron()->GetProcessManager(); |
185 |
// add process |
186 |
|
187 |
// elastic scattering |
188 |
theNeutronElasticProcess = new G4HadronElasticProcess; |
189 |
theElasticModel1 = new G4LElastic; |
190 |
theElasticNeutron = new G4NeutronHPElastic; |
191 |
theNeutronElasticProcess->RegisterMe(theElasticModel1); |
192 |
theElasticModel1->SetMinEnergy(19.9*MeV); |
193 |
theNeutronElasticProcess->RegisterMe(theElasticNeutron); |
194 |
theNeutronData = new G4NeutronHPElasticData; |
195 |
theNeutronElasticProcess->AddDataSet(theNeutronData); |
196 |
pManager->AddDiscreteProcess(theNeutronElasticProcess); |
197 |
|
198 |
// inelastic scattering |
199 |
theInelasticProcess =new G4NeutronInelasticProcess("inelastic"); |
200 |
theInelasticModel = new G4LENeutronInelastic; |
201 |
theHEInelasticModel = new G4HENeutronInelastic(); |
202 |
theInelasticModel->SetMinEnergy(19.9*MeV); |
203 |
theInelasticModel->SetMaxEnergy(55*GeV); |
204 |
theHEInelasticModel->SetMinEnergy(25*GeV); |
205 |
theInelasticProcess->RegisterMe(theInelasticModel); |
206 |
theLENeutronInelasticModel =new G4NeutronHPInelastic; |
207 |
theInelasticProcess->RegisterMe(theLENeutronInelasticModel); |
208 |
theInelasticProcess->RegisterMe(theHEInelasticModel); |
209 |
theNeutronData1 = new G4NeutronHPInelasticData; |
210 |
theInelasticProcess->AddDataSet(theNeutronData1); |
211 |
pManager->AddDiscreteProcess(theInelasticProcess); |
212 |
|
213 |
|
214 |
// aProductionModel = new G4NeutronIsotopeProduction; |
215 |
// theInelasticProcess->RegisterIsotopeProductionModel(aProductionModel); |
216 |
// G4HadronicProcess::EnableIsotopeProductionGlobally(); |
217 |
//fission |
218 |
|
219 |
|
220 |
theFissionProcess = new G4HadronFissionProcess; |
221 |
theFissionModel = new G4LFission; |
222 |
theFissionModel->SetMinEnergy(19.9*MeV); |
223 |
theFissionProcess->RegisterMe(theFissionModel); |
224 |
theLENeutronFissionModel = new G4NeutronHPFission; |
225 |
theFissionProcess->RegisterMe(theLENeutronFissionModel); |
226 |
theNeutronData2 = new G4NeutronHPFissionData; |
227 |
theFissionProcess->AddDataSet(theNeutronData2); |
228 |
pManager->AddDiscreteProcess(theFissionProcess); |
229 |
|
230 |
// capture |
231 |
theCaptureProcess = new G4HadronCaptureProcess; |
232 |
theCaptureModel = new G4LCapture; |
233 |
theCaptureModel->SetMinEnergy(19.9*MeV); |
234 |
theCaptureProcess->RegisterMe(theCaptureModel); |
235 |
theLENeutronCaptureModel = new G4NeutronHPCapture; |
236 |
theCaptureProcess->RegisterMe(theLENeutronCaptureModel); |
237 |
theNeutronData3 = new G4NeutronHPCaptureData; |
238 |
theCaptureProcess->AddDataSet(theNeutronData3); |
239 |
pManager->AddDiscreteProcess(theCaptureProcess); |
240 |
|
241 |
// AntiNeutron |
242 |
pManager = G4AntiNeutron::AntiNeutron()->GetProcessManager(); |
243 |
// add process |
244 |
pManager->AddDiscreteProcess(&theElasticProcess); |
245 |
|
246 |
theLEAntiNeutronModel = new G4LEAntiNeutronInelastic(); |
247 |
theHEAntiNeutronModel = new G4HEAntiNeutronInelastic(); |
248 |
theAntiNeutronInelastic.RegisterMe(theLEAntiNeutronModel); |
249 |
theAntiNeutronInelastic.RegisterMe(theHEAntiNeutronModel); |
250 |
pManager->AddDiscreteProcess(&theAntiNeutronInelastic); |
251 |
|
252 |
pManager->AddRestProcess(&theAntiNeutronAnnihilation); |
253 |
|
254 |
// Lambda |
255 |
pManager = G4Lambda::Lambda()->GetProcessManager(); |
256 |
// add process |
257 |
pManager->AddDiscreteProcess(&theElasticProcess); |
258 |
|
259 |
theLELambdaModel = new G4LELambdaInelastic(); |
260 |
theHELambdaModel = new G4HELambdaInelastic(); |
261 |
theLambdaInelastic.RegisterMe(theLELambdaModel); |
262 |
theLambdaInelastic.RegisterMe(theHELambdaModel); |
263 |
pManager->AddDiscreteProcess(&theLambdaInelastic); |
264 |
|
265 |
// AntiLambda |
266 |
pManager = G4AntiLambda::AntiLambda()->GetProcessManager(); |
267 |
// add process |
268 |
pManager->AddDiscreteProcess(&theElasticProcess); |
269 |
|
270 |
theLEAntiLambdaModel = new G4LEAntiLambdaInelastic(); |
271 |
theHEAntiLambdaModel = new G4HEAntiLambdaInelastic(); |
272 |
theAntiLambdaInelastic.RegisterMe(theLEAntiLambdaModel); |
273 |
theAntiLambdaInelastic.RegisterMe(theHEAntiLambdaModel); |
274 |
pManager->AddDiscreteProcess(&theAntiLambdaInelastic); |
275 |
|
276 |
// SigmaMinus |
277 |
pManager = G4SigmaMinus::SigmaMinus()->GetProcessManager(); |
278 |
// add process |
279 |
pManager->AddDiscreteProcess(&theElasticProcess); |
280 |
|
281 |
theLESigmaMinusModel = new G4LESigmaMinusInelastic(); |
282 |
theHESigmaMinusModel = new G4HESigmaMinusInelastic(); |
283 |
theSigmaMinusInelastic.RegisterMe(theLESigmaMinusModel); |
284 |
theSigmaMinusInelastic.RegisterMe(theHESigmaMinusModel); |
285 |
pManager->AddDiscreteProcess(&theSigmaMinusInelastic); |
286 |
|
287 |
pManager->AddProcess(&theSigmaMinusIonisation, ordInActive,2, 2); |
288 |
|
289 |
pManager->AddProcess(&theSigmaMinusMult); |
290 |
pManager->SetProcessOrdering(&theSigmaMinusMult, idxAlongStep, 1); |
291 |
pManager->SetProcessOrdering(&theSigmaMinusMult, idxPostStep, 1); |
292 |
|
293 |
// anti-SigmaMinus |
294 |
pManager = G4AntiSigmaMinus::AntiSigmaMinus()->GetProcessManager(); |
295 |
// add process |
296 |
pManager->AddDiscreteProcess(&theElasticProcess); |
297 |
|
298 |
theLEAntiSigmaMinusModel = new G4LEAntiSigmaMinusInelastic(); |
299 |
theHEAntiSigmaMinusModel = new G4HEAntiSigmaMinusInelastic(); |
300 |
theAntiSigmaMinusInelastic.RegisterMe(theLEAntiSigmaMinusModel); |
301 |
theAntiSigmaMinusInelastic.RegisterMe(theHEAntiSigmaMinusModel); |
302 |
pManager->AddDiscreteProcess(&theAntiSigmaMinusInelastic); |
303 |
|
304 |
pManager->AddProcess(&theAntiSigmaMinusIonisation, ordInActive,2, 2); |
305 |
|
306 |
pManager->AddProcess(&theAntiSigmaMinusMult); |
307 |
pManager->SetProcessOrdering(&theAntiSigmaMinusMult, idxAlongStep, 1); |
308 |
pManager->SetProcessOrdering(&theAntiSigmaMinusMult, idxPostStep, 1); |
309 |
|
310 |
// SigmaPlus |
311 |
pManager = G4SigmaPlus::SigmaPlus()->GetProcessManager(); |
312 |
// add process |
313 |
pManager->AddDiscreteProcess(&theElasticProcess); |
314 |
|
315 |
theLESigmaPlusModel = new G4LESigmaPlusInelastic(); |
316 |
theHESigmaPlusModel = new G4HESigmaPlusInelastic(); |
317 |
theSigmaPlusInelastic.RegisterMe(theLESigmaPlusModel); |
318 |
theSigmaPlusInelastic.RegisterMe(theHESigmaPlusModel); |
319 |
pManager->AddDiscreteProcess(&theSigmaPlusInelastic); |
320 |
|
321 |
pManager->AddProcess(&theSigmaPlusIonisation, ordInActive,2, 2); |
322 |
|
323 |
pManager->AddProcess(&theSigmaPlusMult); |
324 |
pManager->SetProcessOrdering(&theSigmaPlusMult, idxAlongStep, 1); |
325 |
pManager->SetProcessOrdering(&theSigmaPlusMult, idxPostStep, 1); |
326 |
|
327 |
// anti-SigmaPlus |
328 |
pManager = G4AntiSigmaPlus::AntiSigmaPlus()->GetProcessManager(); |
329 |
// add process |
330 |
pManager->AddDiscreteProcess(&theElasticProcess); |
331 |
|
332 |
theLEAntiSigmaPlusModel = new G4LEAntiSigmaPlusInelastic(); |
333 |
theHEAntiSigmaPlusModel = new G4HEAntiSigmaPlusInelastic(); |
334 |
theAntiSigmaPlusInelastic.RegisterMe(theLEAntiSigmaPlusModel); |
335 |
theAntiSigmaPlusInelastic.RegisterMe(theHEAntiSigmaPlusModel); |
336 |
pManager->AddDiscreteProcess(&theAntiSigmaPlusInelastic); |
337 |
|
338 |
pManager->AddProcess(&theAntiSigmaPlusIonisation, ordInActive,2, 2); |
339 |
|
340 |
pManager->AddProcess(&theAntiSigmaPlusMult); |
341 |
pManager->SetProcessOrdering(&theAntiSigmaPlusMult, idxAlongStep, 1); |
342 |
pManager->SetProcessOrdering(&theAntiSigmaPlusMult, idxPostStep, 1); |
343 |
|
344 |
// XiMinus |
345 |
pManager = G4XiMinus::XiMinus()->GetProcessManager(); |
346 |
// add process |
347 |
pManager->AddDiscreteProcess(&theElasticProcess); |
348 |
|
349 |
theLEXiMinusModel = new G4LEXiMinusInelastic(); |
350 |
theHEXiMinusModel = new G4HEXiMinusInelastic(); |
351 |
theXiMinusInelastic.RegisterMe(theLEXiMinusModel); |
352 |
theXiMinusInelastic.RegisterMe(theHEXiMinusModel); |
353 |
pManager->AddDiscreteProcess(&theXiMinusInelastic); |
354 |
|
355 |
pManager->AddProcess(&theXiMinusIonisation, ordInActive,2, 2); |
356 |
|
357 |
pManager->AddProcess(&theXiMinusMult); |
358 |
pManager->SetProcessOrdering(&theXiMinusMult, idxAlongStep, 1); |
359 |
pManager->SetProcessOrdering(&theXiMinusMult, idxPostStep, 1); |
360 |
|
361 |
// anti-XiMinus |
362 |
pManager = G4AntiXiMinus::AntiXiMinus()->GetProcessManager(); |
363 |
// add process |
364 |
pManager->AddDiscreteProcess(&theElasticProcess); |
365 |
|
366 |
theLEAntiXiMinusModel = new G4LEAntiXiMinusInelastic(); |
367 |
theHEAntiXiMinusModel = new G4HEAntiXiMinusInelastic(); |
368 |
theAntiXiMinusInelastic.RegisterMe(theLEAntiXiMinusModel); |
369 |
theAntiXiMinusInelastic.RegisterMe(theHEAntiXiMinusModel); |
370 |
pManager->AddDiscreteProcess(&theAntiXiMinusInelastic); |
371 |
|
372 |
pManager->AddProcess(&theAntiXiMinusIonisation, ordInActive,2, 2); |
373 |
|
374 |
pManager->AddProcess(&theAntiXiMinusMult); |
375 |
pManager->SetProcessOrdering(&theAntiXiMinusMult, idxAlongStep, 1); |
376 |
pManager->SetProcessOrdering(&theAntiXiMinusMult, idxPostStep, 1); |
377 |
|
378 |
// XiZero |
379 |
pManager = G4XiZero::XiZero()->GetProcessManager(); |
380 |
// add process |
381 |
pManager->AddDiscreteProcess(&theElasticProcess); |
382 |
|
383 |
theLEXiZeroModel = new G4LEXiZeroInelastic(); |
384 |
theHEXiZeroModel = new G4HEXiZeroInelastic(); |
385 |
theXiZeroInelastic.RegisterMe(theLEXiZeroModel); |
386 |
theXiZeroInelastic.RegisterMe(theHEXiZeroModel); |
387 |
pManager->AddDiscreteProcess(&theXiZeroInelastic); |
388 |
|
389 |
// anti-XiZero |
390 |
pManager = G4AntiXiZero::AntiXiZero()->GetProcessManager(); |
391 |
// add process |
392 |
pManager->AddDiscreteProcess(&theElasticProcess); |
393 |
|
394 |
theLEAntiXiZeroModel = new G4LEAntiXiZeroInelastic(); |
395 |
theHEAntiXiZeroModel = new G4HEAntiXiZeroInelastic(); |
396 |
theAntiXiZeroInelastic.RegisterMe(theLEAntiXiZeroModel); |
397 |
theAntiXiZeroInelastic.RegisterMe(theHEAntiXiZeroModel); |
398 |
pManager->AddDiscreteProcess(&theAntiXiZeroInelastic); |
399 |
|
400 |
// OmegaMinus |
401 |
pManager = G4OmegaMinus::OmegaMinus()->GetProcessManager(); |
402 |
// add process |
403 |
pManager->AddDiscreteProcess(&theElasticProcess); |
404 |
|
405 |
theLEOmegaMinusModel = new G4LEOmegaMinusInelastic(); |
406 |
theHEOmegaMinusModel = new G4HEOmegaMinusInelastic(); |
407 |
theOmegaMinusInelastic.RegisterMe(theLEOmegaMinusModel); |
408 |
theOmegaMinusInelastic.RegisterMe(theHEOmegaMinusModel); |
409 |
pManager->AddDiscreteProcess(&theOmegaMinusInelastic); |
410 |
|
411 |
pManager->AddProcess(&theOmegaMinusIonisation, ordInActive,2, 2); |
412 |
|
413 |
pManager->AddProcess(&theOmegaMinusMult); |
414 |
pManager->SetProcessOrdering(&theOmegaMinusMult, idxAlongStep, 1); |
415 |
pManager->SetProcessOrdering(&theOmegaMinusMult, idxPostStep, 1); |
416 |
|
417 |
// anti-OmegaMinus |
418 |
pManager = G4AntiOmegaMinus::AntiOmegaMinus()->GetProcessManager(); |
419 |
// add process |
420 |
pManager->AddDiscreteProcess(&theElasticProcess); |
421 |
|
422 |
theLEAntiOmegaMinusModel = new G4LEAntiOmegaMinusInelastic(); |
423 |
theHEAntiOmegaMinusModel = new G4HEAntiOmegaMinusInelastic(); |
424 |
theAntiOmegaMinusInelastic.RegisterMe(theLEAntiOmegaMinusModel); |
425 |
theAntiOmegaMinusInelastic.RegisterMe(theHEAntiOmegaMinusModel); |
426 |
pManager->AddDiscreteProcess(&theAntiOmegaMinusInelastic); |
427 |
|
428 |
pManager->AddProcess(&theAntiOmegaMinusIonisation, ordInActive,2, 2); |
429 |
|
430 |
pManager->AddProcess(&theAntiOmegaMinusMult); |
431 |
pManager->SetProcessOrdering(&theAntiOmegaMinusMult, idxAlongStep, 1); |
432 |
pManager->SetProcessOrdering(&theAntiOmegaMinusMult, idxPostStep, 1); |
433 |
|
434 |
} |
435 |
|
436 |
|
437 |
|
438 |
|
439 |
|