#include <ExN04IonPhysics.hh>
Public Member Functions | |
ExN04IonPhysics (const G4String &name="ion") | |
virtual | ~ExN04IonPhysics () |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
Protected Attributes | |
G4HadronElasticProcess | theElasticProcess |
G4LElastic * | theElasticModel |
G4MultipleScattering | fIonMultipleScattering |
G4hIonisation | fIonIonisation |
G4MultipleScattering | fDeuteronMultipleScattering |
G4hIonisation | fDeuteronIonisation |
G4DeuteronInelasticProcess | fDeuteronProcess |
G4LEDeuteronInelastic * | fDeuteronModel |
G4MultipleScattering | fTritonMultipleScattering |
G4hIonisation | fTritonIonisation |
G4TritonInelasticProcess | fTritonProcess |
G4LETritonInelastic * | fTritonModel |
G4MultipleScattering | fAlphaMultipleScattering |
G4hIonisation | fAlphaIonisation |
G4AlphaInelasticProcess | fAlphaProcess |
G4LEAlphaInelastic * | fAlphaModel |
G4MultipleScattering | fHe3MultipleScattering |
G4hIonisation | fHe3Ionisation |
Definition at line 60 of file ExN04IonPhysics.hh.
ExN04IonPhysics::ExN04IonPhysics | ( | const G4String & | name = "ion" |
) |
ExN04IonPhysics::~ExN04IonPhysics | ( | ) | [virtual] |
void ExN04IonPhysics::ConstructParticle | ( | ) | [virtual] |
Definition at line 52 of file ExN04IonPhysics.cxx.
00053 { 00054 // Construct light ions 00055 G4IonConstructor pConstructor; 00056 pConstructor.ConstructParticle(); 00057 }
void ExN04IonPhysics::ConstructProcess | ( | ) | [virtual] |
Definition at line 63 of file ExN04IonPhysics.cxx.
References fAlphaIonisation, fAlphaModel, fAlphaMultipleScattering, fAlphaProcess, fDeuteronIonisation, fDeuteronModel, fDeuteronMultipleScattering, fDeuteronProcess, fHe3Ionisation, fHe3MultipleScattering, fIonIonisation, fIonMultipleScattering, fTritonIonisation, fTritonModel, fTritonMultipleScattering, fTritonProcess, theElasticModel, and theElasticProcess.
00064 { 00065 G4ProcessManager * pManager = 0; 00066 00067 // Elastic Process 00068 theElasticModel = new G4LElastic(); 00069 theElasticProcess.RegisterMe(theElasticModel); 00070 00071 // Generic Ion 00072 pManager = G4GenericIon::GenericIon()->GetProcessManager(); 00073 // add process 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 // Deuteron 00083 pManager = G4Deuteron::Deuteron()->GetProcessManager(); 00084 // add process 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 // Triton 00098 pManager = G4Triton::Triton()->GetProcessManager(); 00099 // add process 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 // Alpha 00113 pManager = G4Alpha::Alpha()->GetProcessManager(); 00114 // add process 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 // He3 00128 pManager = G4He3::He3()->GetProcessManager(); 00129 // add process 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 }
G4hIonisation ExN04IonPhysics::fAlphaIonisation [protected] |
G4LEAlphaInelastic* ExN04IonPhysics::fAlphaModel [protected] |
G4MultipleScattering ExN04IonPhysics::fAlphaMultipleScattering [protected] |
G4AlphaInelasticProcess ExN04IonPhysics::fAlphaProcess [protected] |
G4hIonisation ExN04IonPhysics::fDeuteronIonisation [protected] |
G4LEDeuteronInelastic* ExN04IonPhysics::fDeuteronModel [protected] |
G4MultipleScattering ExN04IonPhysics::fDeuteronMultipleScattering [protected] |
G4DeuteronInelasticProcess ExN04IonPhysics::fDeuteronProcess [protected] |
G4hIonisation ExN04IonPhysics::fHe3Ionisation [protected] |
G4MultipleScattering ExN04IonPhysics::fHe3MultipleScattering [protected] |
G4hIonisation ExN04IonPhysics::fIonIonisation [protected] |
G4MultipleScattering ExN04IonPhysics::fIonMultipleScattering [protected] |
G4hIonisation ExN04IonPhysics::fTritonIonisation [protected] |
G4LETritonInelastic* ExN04IonPhysics::fTritonModel [protected] |
G4MultipleScattering ExN04IonPhysics::fTritonMultipleScattering [protected] |
G4TritonInelasticProcess ExN04IonPhysics::fTritonProcess [protected] |
G4LElastic* ExN04IonPhysics::theElasticModel [protected] |
G4HadronElasticProcess ExN04IonPhysics::theElasticProcess [protected] |