Definition at line 47 of file BesHadronPhysics.cc.
References theAntiLambdaInelastic, theAntiNeutronAnnihilation, theAntiNeutronInelastic, theAntiOmegaMinusInelastic, theAntiOmegaMinusIonisation, theAntiOmegaMinusMult, theAntiProtonAnnihilation, theAntiProtonInelastic, theAntiProtonIonisation, theAntiProtonMult, theAntiSigmaMinusInelastic, theAntiSigmaMinusIonisation, theAntiSigmaMinusMult, theAntiSigmaPlusInelastic, theAntiSigmaPlusIonisation, theAntiSigmaPlusMult, theAntiXiMinusInelastic, theAntiXiMinusIonisation, theAntiXiMinusMult, theAntiXiZeroInelastic, theCascade, theElasticModel, theElasticProcess, theHandler, theHEAntiLambdaModel, theHEAntiNeutronModel, theHEAntiOmegaMinusModel, theHEAntiProtonModel, theHEAntiSigmaMinusModel, theHEAntiSigmaPlusModel, theHEAntiXiMinusModel, theHEAntiXiZeroModel, theHEKaonMinusModel, theHEKaonPlusModel, theHEKaonZeroLModel, theHEKaonZeroSModel, theHELambdaModel, theHENeutronModel, theHEOmegaMinusModel, theHEProtonModel, theHESigmaMinusModel, theHESigmaPlusModel, theHEXiMinusModel, theHEXiZeroModel, theKaonMinusAbsorption, theKaonMinusInelastic, theKaonMinusIonisation, theKaonMinusMult, theKaonPlusInelastic, theKaonPlusIonisation, theKaonPlusMult, theKaonZeroLInelastic, theKaonZeroSInelastic, theLambdaInelastic, theLEAntiLambdaModel, theLEAntiNeutronModel, theLEAntiOmegaMinusModel, theLEAntiProtonModel, theLEAntiSigmaMinusModel, theLEAntiSigmaPlusModel, theLEAntiXiMinusModel, theLEAntiXiZeroModel, theLEKaonMinusModel, theLEKaonPlusModel, theLEKaonZeroLModel, theLEKaonZeroSModel, theLELambdaModel, theLENeutronModel, theLEOmegaMinusModel, theLEPionMinusModel, theLEPionPlusModel, theLEProtonModel, theLESigmaMinusModel, theLESigmaPlusModel, theLEXiMinusModel, theLEXiZeroModel, theNeutronCapture, theNeutronCaptureModel, theNeutronFission, theNeutronFissionModel, theNeutronInelastic, theOmegaMinusInelastic, theOmegaMinusIonisation, theOmegaMinusMult, thePionMinusAbsorption, thePionMinusInelastic, thePionMinusIonisation, thePionMinusMult, thePionPlusInelastic, thePionPlusIonisation, thePionPlusMult, thePreEquilib, theProtonInelastic, theProtonIonisation, theProtonMult, theSigmaMinusInelastic, theSigmaMinusIonisation, theSigmaMinusMult, theSigmaPlusInelastic, theSigmaPlusIonisation, theSigmaPlusMult, theXiMinusInelastic, theXiMinusIonisation, theXiMinusMult, and theXiZeroInelastic.
00048 {
00049 G4ProcessManager * pManager = 0;
00050 G4cout << "" << G4endl;
00051 G4cout << "You are using the ExN04HadronPhysics" << G4endl;
00052 G4cout << " - Note that this hadronic physics list is not optimized for any particular usage" << G4endl;
00053 G4cout << " - If you wish to have a starting point tailored for a particular area of work," << G4endl;
00054 G4cout << " please use one of the available physics lists by use-case." << G4endl;
00055 G4cout << " More information can also be found from the Geant4 HyperNews." << G4endl;
00056 G4cout << "" << G4endl;
00057
00058 theElasticModel = new G4LElastic();
00059 theElasticProcess.RegisterMe(theElasticModel);
00060
00061
00062
00063 thePreEquilib = new G4PreCompoundModel(&theHandler);
00064 theCascade.SetDeExcitation(thePreEquilib);
00065
00066
00067
00068
00069
00070
00071
00072
00073 pManager = G4PionPlus::PionPlus()->GetProcessManager();
00074
00075 pManager->AddDiscreteProcess(&theElasticProcess);
00076
00077 theLEPionPlusModel = new G4LEPionPlusInelastic();
00078 thePionPlusInelastic.RegisterMe(theLEPionPlusModel);
00079
00080 pManager->AddDiscreteProcess(&thePionPlusInelastic);
00081
00082 pManager->AddProcess(&thePionPlusIonisation, ordInActive,2, 2);
00083
00084 pManager->AddProcess(&thePionPlusMult);
00085 pManager->SetProcessOrdering(&thePionPlusMult, idxAlongStep, 1);
00086 pManager->SetProcessOrdering(&thePionPlusMult, idxPostStep, 1);
00087
00088
00089 pManager = G4PionMinus::PionMinus()->GetProcessManager();
00090
00091 pManager->AddDiscreteProcess(&theElasticProcess);
00092
00093 theLEPionMinusModel = new G4LEPionMinusInelastic();
00094 thePionMinusInelastic.RegisterMe(theLEPionMinusModel);
00095
00096 pManager->AddDiscreteProcess(&thePionMinusInelastic);
00097
00098 pManager->AddProcess(&thePionMinusIonisation, ordInActive,2, 2);
00099
00100 pManager->AddProcess(&thePionMinusMult);
00101 pManager->SetProcessOrdering(&thePionMinusMult, idxAlongStep, 1);
00102 pManager->SetProcessOrdering(&thePionMinusMult, idxPostStep, 1);
00103
00104 pManager->AddRestProcess(&thePionMinusAbsorption, ordDefault);
00105
00106
00107 pManager = G4KaonPlus::KaonPlus()->GetProcessManager();
00108
00109 pManager->AddDiscreteProcess(&theElasticProcess);
00110
00111 theLEKaonPlusModel = new G4LEKaonPlusInelastic();
00112 theHEKaonPlusModel = new G4HEKaonPlusInelastic();
00113 theKaonPlusInelastic.RegisterMe(theLEKaonPlusModel);
00114
00115 pManager->AddDiscreteProcess(&theKaonPlusInelastic);
00116
00117 pManager->AddProcess(&theKaonPlusIonisation, ordInActive,2, 2);
00118
00119 pManager->AddProcess(&theKaonPlusMult);
00120 pManager->SetProcessOrdering(&theKaonPlusMult, idxAlongStep, 1);
00121 pManager->SetProcessOrdering(&theKaonPlusMult, idxPostStep, 1);
00122
00123
00124 pManager = G4KaonMinus::KaonMinus()->GetProcessManager();
00125
00126 pManager->AddDiscreteProcess(&theElasticProcess);
00127
00128 theLEKaonMinusModel = new G4LEKaonMinusInelastic();
00129 theHEKaonMinusModel = new G4HEKaonMinusInelastic();
00130 theKaonMinusInelastic.RegisterMe(theLEKaonMinusModel);
00131 theKaonMinusInelastic.RegisterMe(theHEKaonMinusModel);
00132 pManager->AddDiscreteProcess(&theKaonMinusInelastic);
00133
00134 pManager->AddProcess(&theKaonMinusIonisation, ordInActive,2, 2);
00135
00136 pManager->AddProcess(&theKaonMinusMult);
00137 pManager->SetProcessOrdering(&theKaonMinusMult, idxAlongStep, 1);
00138 pManager->SetProcessOrdering(&theKaonMinusMult, idxPostStep, 1);
00139
00140 pManager->AddRestProcess(&theKaonMinusAbsorption, ordDefault);
00141
00142
00143 pManager = G4KaonZeroLong::KaonZeroLong()->GetProcessManager();
00144
00145 pManager->AddDiscreteProcess(&theElasticProcess);
00146
00147 theLEKaonZeroLModel = new G4LEKaonZeroLInelastic();
00148 theHEKaonZeroLModel = new G4HEKaonZeroInelastic();
00149 theKaonZeroLInelastic.RegisterMe(theLEKaonZeroLModel);
00150 theKaonZeroLInelastic.RegisterMe(theHEKaonZeroLModel);
00151 pManager->AddDiscreteProcess(&theKaonZeroLInelastic);
00152
00153
00154 pManager = G4KaonZeroShort::KaonZeroShort()->GetProcessManager();
00155
00156 pManager->AddDiscreteProcess(&theElasticProcess);
00157
00158 theLEKaonZeroSModel = new G4LEKaonZeroSInelastic();
00159 theHEKaonZeroSModel = new G4HEKaonZeroInelastic();
00160 theKaonZeroSInelastic.RegisterMe(theLEKaonZeroSModel);
00161 theKaonZeroSInelastic.RegisterMe(theHEKaonZeroSModel);
00162 pManager->AddDiscreteProcess(&theKaonZeroSInelastic);
00163
00164
00165 pManager = G4Proton::Proton()->GetProcessManager();
00166
00167 pManager->AddDiscreteProcess(&theElasticProcess);
00168
00169 theLEProtonModel = new G4LEProtonInelastic();
00170 theHEProtonModel = new G4HEProtonInelastic();
00171 theProtonInelastic.RegisterMe(theLEProtonModel);
00172
00173 pManager->AddDiscreteProcess(&theProtonInelastic);
00174
00175 pManager->AddProcess(&theProtonIonisation, ordInActive,2, 2);
00176
00177 pManager->AddProcess(&theProtonMult);
00178 pManager->SetProcessOrdering(&theProtonMult, idxAlongStep, 1);
00179 pManager->SetProcessOrdering(&theProtonMult, idxPostStep, 1);
00180
00181
00182 pManager = G4AntiProton::AntiProton()->GetProcessManager();
00183
00184 pManager->AddDiscreteProcess(&theElasticProcess);
00185
00186 theLEAntiProtonModel = new G4LEAntiProtonInelastic();
00187 theHEAntiProtonModel = new G4HEAntiProtonInelastic();
00188 theAntiProtonInelastic.RegisterMe(theLEAntiProtonModel);
00189 theAntiProtonInelastic.RegisterMe(theHEAntiProtonModel);
00190 pManager->AddDiscreteProcess(&theAntiProtonInelastic);
00191
00192 pManager->AddProcess(&theAntiProtonIonisation, ordInActive,2, 2);
00193
00194 pManager->AddProcess(&theAntiProtonMult);
00195 pManager->SetProcessOrdering(&theAntiProtonMult, idxAlongStep, 1);
00196 pManager->SetProcessOrdering(&theAntiProtonMult, idxPostStep, 1);
00197
00198 pManager->AddRestProcess(&theAntiProtonAnnihilation);
00199
00200
00201 pManager = G4Neutron::Neutron()->GetProcessManager();
00202
00203 pManager->AddDiscreteProcess(&theElasticProcess);
00204
00205 theLENeutronModel = new G4LENeutronInelastic();
00206 theHENeutronModel = new G4HENeutronInelastic();
00207 theNeutronInelastic.RegisterMe(theLENeutronModel);
00208
00209 pManager->AddDiscreteProcess(&theNeutronInelastic);
00210
00211 theNeutronFissionModel = new G4LFission();
00212 theNeutronFission.RegisterMe(theNeutronFissionModel);
00213 pManager->AddDiscreteProcess(&theNeutronFission);
00214
00215 theNeutronCaptureModel = new G4LCapture();
00216 theNeutronCapture.RegisterMe(theNeutronCaptureModel);
00217 pManager->AddDiscreteProcess(&theNeutronCapture);
00218
00219
00220 pManager = G4AntiNeutron::AntiNeutron()->GetProcessManager();
00221
00222 pManager->AddDiscreteProcess(&theElasticProcess);
00223
00224 theLEAntiNeutronModel = new G4LEAntiNeutronInelastic();
00225 theHEAntiNeutronModel = new G4HEAntiNeutronInelastic();
00226 theAntiNeutronInelastic.RegisterMe(theLEAntiNeutronModel);
00227 theAntiNeutronInelastic.RegisterMe(theHEAntiNeutronModel);
00228 pManager->AddDiscreteProcess(&theAntiNeutronInelastic);
00229
00230 pManager->AddRestProcess(&theAntiNeutronAnnihilation);
00231
00232
00233 pManager = G4Lambda::Lambda()->GetProcessManager();
00234
00235 pManager->AddDiscreteProcess(&theElasticProcess);
00236
00237 theLELambdaModel = new G4LELambdaInelastic();
00238 theHELambdaModel = new G4HELambdaInelastic();
00239 theLambdaInelastic.RegisterMe(theLELambdaModel);
00240 theLambdaInelastic.RegisterMe(theHELambdaModel);
00241 pManager->AddDiscreteProcess(&theLambdaInelastic);
00242
00243
00244 pManager = G4AntiLambda::AntiLambda()->GetProcessManager();
00245
00246 pManager->AddDiscreteProcess(&theElasticProcess);
00247
00248 theLEAntiLambdaModel = new G4LEAntiLambdaInelastic();
00249 theHEAntiLambdaModel = new G4HEAntiLambdaInelastic();
00250 theAntiLambdaInelastic.RegisterMe(theLEAntiLambdaModel);
00251 theAntiLambdaInelastic.RegisterMe(theHEAntiLambdaModel);
00252 pManager->AddDiscreteProcess(&theAntiLambdaInelastic);
00253
00254
00255 pManager = G4SigmaMinus::SigmaMinus()->GetProcessManager();
00256
00257 pManager->AddDiscreteProcess(&theElasticProcess);
00258
00259 theLESigmaMinusModel = new G4LESigmaMinusInelastic();
00260 theHESigmaMinusModel = new G4HESigmaMinusInelastic();
00261 theSigmaMinusInelastic.RegisterMe(theLESigmaMinusModel);
00262 theSigmaMinusInelastic.RegisterMe(theHESigmaMinusModel);
00263 pManager->AddDiscreteProcess(&theSigmaMinusInelastic);
00264
00265 pManager->AddProcess(&theSigmaMinusIonisation, ordInActive,2, 2);
00266
00267 pManager->AddProcess(&theSigmaMinusMult);
00268 pManager->SetProcessOrdering(&theSigmaMinusMult, idxAlongStep, 1);
00269 pManager->SetProcessOrdering(&theSigmaMinusMult, idxPostStep, 1);
00270
00271
00272 pManager = G4AntiSigmaMinus::AntiSigmaMinus()->GetProcessManager();
00273
00274 pManager->AddDiscreteProcess(&theElasticProcess);
00275
00276 theLEAntiSigmaMinusModel = new G4LEAntiSigmaMinusInelastic();
00277 theHEAntiSigmaMinusModel = new G4HEAntiSigmaMinusInelastic();
00278 theAntiSigmaMinusInelastic.RegisterMe(theLEAntiSigmaMinusModel);
00279 theAntiSigmaMinusInelastic.RegisterMe(theHEAntiSigmaMinusModel);
00280 pManager->AddDiscreteProcess(&theAntiSigmaMinusInelastic);
00281
00282 pManager->AddProcess(&theAntiSigmaMinusIonisation, ordInActive,2, 2);
00283
00284 pManager->AddProcess(&theAntiSigmaMinusMult);
00285 pManager->SetProcessOrdering(&theAntiSigmaMinusMult, idxAlongStep, 1);
00286 pManager->SetProcessOrdering(&theAntiSigmaMinusMult, idxPostStep, 1);
00287
00288
00289 pManager = G4SigmaPlus::SigmaPlus()->GetProcessManager();
00290
00291 pManager->AddDiscreteProcess(&theElasticProcess);
00292
00293 theLESigmaPlusModel = new G4LESigmaPlusInelastic();
00294 theHESigmaPlusModel = new G4HESigmaPlusInelastic();
00295 theSigmaPlusInelastic.RegisterMe(theLESigmaPlusModel);
00296 theSigmaPlusInelastic.RegisterMe(theHESigmaPlusModel);
00297 pManager->AddDiscreteProcess(&theSigmaPlusInelastic);
00298
00299 pManager->AddProcess(&theSigmaPlusIonisation, ordInActive,2, 2);
00300
00301 pManager->AddProcess(&theSigmaPlusMult);
00302 pManager->SetProcessOrdering(&theSigmaPlusMult, idxAlongStep, 1);
00303 pManager->SetProcessOrdering(&theSigmaPlusMult, idxPostStep, 1);
00304
00305
00306 pManager = G4AntiSigmaPlus::AntiSigmaPlus()->GetProcessManager();
00307
00308 pManager->AddDiscreteProcess(&theElasticProcess);
00309
00310 theLEAntiSigmaPlusModel = new G4LEAntiSigmaPlusInelastic();
00311 theHEAntiSigmaPlusModel = new G4HEAntiSigmaPlusInelastic();
00312 theAntiSigmaPlusInelastic.RegisterMe(theLEAntiSigmaPlusModel);
00313 theAntiSigmaPlusInelastic.RegisterMe(theHEAntiSigmaPlusModel);
00314 pManager->AddDiscreteProcess(&theAntiSigmaPlusInelastic);
00315
00316 pManager->AddProcess(&theAntiSigmaPlusIonisation, ordInActive,2, 2);
00317
00318 pManager->AddProcess(&theAntiSigmaPlusMult);
00319 pManager->SetProcessOrdering(&theAntiSigmaPlusMult, idxAlongStep, 1);
00320 pManager->SetProcessOrdering(&theAntiSigmaPlusMult, idxPostStep, 1);
00321
00322
00323 pManager = G4XiMinus::XiMinus()->GetProcessManager();
00324
00325 pManager->AddDiscreteProcess(&theElasticProcess);
00326
00327 theLEXiMinusModel = new G4LEXiMinusInelastic();
00328 theHEXiMinusModel = new G4HEXiMinusInelastic();
00329 theXiMinusInelastic.RegisterMe(theLEXiMinusModel);
00330 theXiMinusInelastic.RegisterMe(theHEXiMinusModel);
00331 pManager->AddDiscreteProcess(&theXiMinusInelastic);
00332
00333 pManager->AddProcess(&theXiMinusIonisation, ordInActive,2, 2);
00334
00335 pManager->AddProcess(&theXiMinusMult);
00336 pManager->SetProcessOrdering(&theXiMinusMult, idxAlongStep, 1);
00337 pManager->SetProcessOrdering(&theXiMinusMult, idxPostStep, 1);
00338
00339
00340 pManager = G4AntiXiMinus::AntiXiMinus()->GetProcessManager();
00341
00342 pManager->AddDiscreteProcess(&theElasticProcess);
00343
00344 theLEAntiXiMinusModel = new G4LEAntiXiMinusInelastic();
00345 theHEAntiXiMinusModel = new G4HEAntiXiMinusInelastic();
00346 theAntiXiMinusInelastic.RegisterMe(theLEAntiXiMinusModel);
00347 theAntiXiMinusInelastic.RegisterMe(theHEAntiXiMinusModel);
00348 pManager->AddDiscreteProcess(&theAntiXiMinusInelastic);
00349
00350 pManager->AddProcess(&theAntiXiMinusIonisation, ordInActive,2, 2);
00351
00352 pManager->AddProcess(&theAntiXiMinusMult);
00353 pManager->SetProcessOrdering(&theAntiXiMinusMult, idxAlongStep, 1);
00354 pManager->SetProcessOrdering(&theAntiXiMinusMult, idxPostStep, 1);
00355
00356
00357 pManager = G4XiZero::XiZero()->GetProcessManager();
00358
00359 pManager->AddDiscreteProcess(&theElasticProcess);
00360
00361 theLEXiZeroModel = new G4LEXiZeroInelastic();
00362 theHEXiZeroModel = new G4HEXiZeroInelastic();
00363 theXiZeroInelastic.RegisterMe(theLEXiZeroModel);
00364 theXiZeroInelastic.RegisterMe(theHEXiZeroModel);
00365 pManager->AddDiscreteProcess(&theXiZeroInelastic);
00366
00367
00368 pManager = G4AntiXiZero::AntiXiZero()->GetProcessManager();
00369
00370 pManager->AddDiscreteProcess(&theElasticProcess);
00371
00372 theLEAntiXiZeroModel = new G4LEAntiXiZeroInelastic();
00373 theHEAntiXiZeroModel = new G4HEAntiXiZeroInelastic();
00374 theAntiXiZeroInelastic.RegisterMe(theLEAntiXiZeroModel);
00375 theAntiXiZeroInelastic.RegisterMe(theHEAntiXiZeroModel);
00376 pManager->AddDiscreteProcess(&theAntiXiZeroInelastic);
00377
00378
00379 pManager = G4OmegaMinus::OmegaMinus()->GetProcessManager();
00380
00381 pManager->AddDiscreteProcess(&theElasticProcess);
00382
00383 theLEOmegaMinusModel = new G4LEOmegaMinusInelastic();
00384 theHEOmegaMinusModel = new G4HEOmegaMinusInelastic();
00385 theOmegaMinusInelastic.RegisterMe(theLEOmegaMinusModel);
00386 theOmegaMinusInelastic.RegisterMe(theHEOmegaMinusModel);
00387 pManager->AddDiscreteProcess(&theOmegaMinusInelastic);
00388
00389 pManager->AddProcess(&theOmegaMinusIonisation, ordInActive,2, 2);
00390
00391 pManager->AddProcess(&theOmegaMinusMult);
00392 pManager->SetProcessOrdering(&theOmegaMinusMult, idxAlongStep, 1);
00393 pManager->SetProcessOrdering(&theOmegaMinusMult, idxPostStep, 1);
00394
00395
00396 pManager = G4AntiOmegaMinus::AntiOmegaMinus()->GetProcessManager();
00397
00398 pManager->AddDiscreteProcess(&theElasticProcess);
00399
00400 theLEAntiOmegaMinusModel = new G4LEAntiOmegaMinusInelastic();
00401 theHEAntiOmegaMinusModel = new G4HEAntiOmegaMinusInelastic();
00402 theAntiOmegaMinusInelastic.RegisterMe(theLEAntiOmegaMinusModel);
00403 theAntiOmegaMinusInelastic.RegisterMe(theHEAntiOmegaMinusModel);
00404 pManager->AddDiscreteProcess(&theAntiOmegaMinusInelastic);
00405
00406 pManager->AddProcess(&theAntiOmegaMinusIonisation, ordInActive,2, 2);
00407
00408 pManager->AddProcess(&theAntiOmegaMinusMult);
00409 pManager->SetProcessOrdering(&theAntiOmegaMinusMult, idxAlongStep, 1);
00410 pManager->SetProcessOrdering(&theAntiOmegaMinusMult, idxPostStep, 1);
00411
00412 }