ExN04IonPhysics Class Reference

#include <ExN04IonPhysics.hh>

List of all members.

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


Detailed Description

Definition at line 60 of file ExN04IonPhysics.hh.


Constructor & Destructor Documentation

ExN04IonPhysics::ExN04IonPhysics ( const G4String &  name = "ion"  ) 

Definition at line 37 of file ExN04IonPhysics.cxx.

00038                  :  G4VPhysicsConstructor(name)
00039 {
00040 }

ExN04IonPhysics::~ExN04IonPhysics (  )  [virtual]

Definition at line 42 of file ExN04IonPhysics.cxx.

00043 {
00044 }


Member Function Documentation

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 }


Member Data Documentation

G4hIonisation ExN04IonPhysics::fAlphaIonisation [protected]

Definition at line 99 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4LEAlphaInelastic* ExN04IonPhysics::fAlphaModel [protected]

Definition at line 101 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4MultipleScattering ExN04IonPhysics::fAlphaMultipleScattering [protected]

Definition at line 98 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4AlphaInelasticProcess ExN04IonPhysics::fAlphaProcess [protected]

Definition at line 100 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4hIonisation ExN04IonPhysics::fDeuteronIonisation [protected]

Definition at line 87 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4LEDeuteronInelastic* ExN04IonPhysics::fDeuteronModel [protected]

Definition at line 89 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4MultipleScattering ExN04IonPhysics::fDeuteronMultipleScattering [protected]

Definition at line 86 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4DeuteronInelasticProcess ExN04IonPhysics::fDeuteronProcess [protected]

Definition at line 88 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4hIonisation ExN04IonPhysics::fHe3Ionisation [protected]

Definition at line 105 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4MultipleScattering ExN04IonPhysics::fHe3MultipleScattering [protected]

Definition at line 104 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4hIonisation ExN04IonPhysics::fIonIonisation [protected]

Definition at line 83 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4MultipleScattering ExN04IonPhysics::fIonMultipleScattering [protected]

Definition at line 82 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4hIonisation ExN04IonPhysics::fTritonIonisation [protected]

Definition at line 93 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4LETritonInelastic* ExN04IonPhysics::fTritonModel [protected]

Definition at line 95 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4MultipleScattering ExN04IonPhysics::fTritonMultipleScattering [protected]

Definition at line 92 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4TritonInelasticProcess ExN04IonPhysics::fTritonProcess [protected]

Definition at line 94 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4LElastic* ExN04IonPhysics::theElasticModel [protected]

Definition at line 79 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

G4HadronElasticProcess ExN04IonPhysics::theElasticProcess [protected]

Definition at line 78 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().


Generated on Tue Nov 29 23:19:32 2016 for BOSS_7.0.2 by  doxygen 1.4.7