00036 {
00037 G4ProcessManager * pManager = 0;
00038
00039
00040 theElasticModel = new G4LElastic();
00041 theElasticProcess.RegisterMe(theElasticModel);
00042
00043
00044 pManager = G4GenericIon::GenericIon()->GetProcessManager();
00045
00046 pManager->AddDiscreteProcess(&theElasticProcess);
00047
00048 pManager->AddProcess(&fIonMultipleScattering, -1, 1, 1);
00049 pManager->AddProcess(&fIonIonisation, -1, 2, 2);
00050
00051
00052 pManager = G4Deuteron::Deuteron()->GetProcessManager();
00053
00054 pManager->AddDiscreteProcess(&theElasticProcess);
00055
00056 fDeuteronModel = new G4LEDeuteronInelastic();
00057 fDeuteronProcess.RegisterMe(fDeuteronModel);
00058 pManager->AddDiscreteProcess(&fDeuteronProcess);
00059
00060 pManager->AddProcess(&fDeuteronMultipleScattering, -1, 1, 1);
00061 pManager->AddProcess(&fDeuteronIonisation, -1, 2, 2);
00062
00063
00064 pManager = G4Triton::Triton()->GetProcessManager();
00065
00066 pManager->AddDiscreteProcess(&theElasticProcess);
00067
00068 fTritonModel = new G4LETritonInelastic();
00069 fTritonProcess.RegisterMe(fTritonModel);
00070 pManager->AddDiscreteProcess(&fTritonProcess);
00071
00072 pManager->AddProcess(&fTritonMultipleScattering, -1, 1, 1);
00073 pManager->AddProcess(&fTritonIonisation, -1, 2, 2);
00074
00075
00076 pManager = G4Alpha::Alpha()->GetProcessManager();
00077
00078 pManager->AddDiscreteProcess(&theElasticProcess);
00079
00080 fAlphaModel = new G4LEAlphaInelastic();
00081 fAlphaProcess.RegisterMe(fAlphaModel);
00082 pManager->AddDiscreteProcess(&fAlphaProcess);
00083
00084 pManager->AddProcess(&fAlphaMultipleScattering, -1, 1, 1);
00085 pManager->AddProcess(&fAlphaIonisation, -1, 2, 2);
00086
00087
00088 pManager = G4He3::He3()->GetProcessManager();
00089
00090 pManager->AddDiscreteProcess(&theElasticProcess);
00091
00092 pManager->AddProcess(&fHe3MultipleScattering, -1, 1, 1);
00093 pManager->AddProcess(&fHe3Ionisation, -1, 2, 2);
00094
00095
00096 }