00064 {
00065 G4ProcessManager * pManager = 0;
00066
00067
00068 theElasticModel = new G4LElastic();
00069 theElasticProcess.RegisterMe(theElasticModel);
00070
00071
00072 pManager = G4GenericIon::GenericIon()->GetProcessManager();
00073
00074 pManager->AddDiscreteProcess(&theElasticProcess);
00075
00076 pManager->AddProcess(&fIonIonisation, ordInActive, 2, 2);
00077
00078 pManager->AddProcess(&fIonMultipleScattering);
00079 pManager->SetProcessOrdering(&fIonMultipleScattering, idxAlongStep, 1);
00080 pManager->SetProcessOrdering(&fIonMultipleScattering, idxPostStep, 1);
00081
00082
00083 pManager = G4Deuteron::Deuteron()->GetProcessManager();
00084
00085 pManager->AddDiscreteProcess(&theElasticProcess);
00086
00087 fDeuteronModel = new G4LEDeuteronInelastic();
00088 fDeuteronProcess.RegisterMe(fDeuteronModel);
00089 pManager->AddDiscreteProcess(&fDeuteronProcess);
00090
00091 pManager->AddProcess(&fDeuteronIonisation, ordInActive, 2, 2);
00092
00093 pManager->AddProcess(&fDeuteronMultipleScattering);
00094 pManager->SetProcessOrdering(&fDeuteronMultipleScattering, idxAlongStep, 1);
00095 pManager->SetProcessOrdering(&fDeuteronMultipleScattering, idxPostStep, 1);
00096
00097
00098 pManager = G4Triton::Triton()->GetProcessManager();
00099
00100 pManager->AddDiscreteProcess(&theElasticProcess);
00101
00102 fTritonModel = new G4LETritonInelastic();
00103 fTritonProcess.RegisterMe(fTritonModel);
00104 pManager->AddDiscreteProcess(&fTritonProcess);
00105
00106 pManager->AddProcess(&fTritonIonisation, ordInActive, 2, 2);
00107
00108 pManager->AddProcess(&fTritonMultipleScattering);
00109 pManager->SetProcessOrdering(&fTritonMultipleScattering, idxAlongStep, 1);
00110 pManager->SetProcessOrdering(&fTritonMultipleScattering, idxPostStep, 1);
00111
00112
00113 pManager = G4Alpha::Alpha()->GetProcessManager();
00114
00115 pManager->AddDiscreteProcess(&theElasticProcess);
00116
00117 fAlphaModel = new G4LEAlphaInelastic();
00118 fAlphaProcess.RegisterMe(fAlphaModel);
00119 pManager->AddDiscreteProcess(&fAlphaProcess);
00120
00121 pManager->AddProcess(&fAlphaIonisation, ordInActive, 2, 2);
00122
00123 pManager->AddProcess(&fAlphaMultipleScattering);
00124 pManager->SetProcessOrdering(&fAlphaMultipleScattering, idxAlongStep, 1);
00125 pManager->SetProcessOrdering(&fAlphaMultipleScattering, idxPostStep, 1);
00126
00127
00128 pManager = G4He3::He3()->GetProcessManager();
00129
00130 pManager->AddDiscreteProcess(&theElasticProcess);
00131
00132 pManager->AddProcess(&fHe3Ionisation, ordInActive, 2, 2);
00133
00134 pManager->AddProcess(&fHe3MultipleScattering);
00135 pManager->SetProcessOrdering(&fHe3MultipleScattering, idxAlongStep, 1);
00136 pManager->SetProcessOrdering(&fHe3MultipleScattering, idxPostStep, 1);
00137
00138 }