Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ExN04IonPhysics Class Reference

#include <ExN04IonPhysics.hh>

List of all members.

Public Member Functions

virtual void ConstructParticle ()
virtual void ConstructProcess ()
 ExN04IonPhysics (const G4String &name="ion")
virtual ~ExN04IonPhysics ()

Protected Attributes

G4hIonisation fAlphaIonisation
G4LEAlphaInelastic * fAlphaModel
G4MultipleScattering fAlphaMultipleScattering
G4AlphaInelasticProcess fAlphaProcess
G4hIonisation fDeuteronIonisation
G4LEDeuteronInelastic * fDeuteronModel
G4MultipleScattering fDeuteronMultipleScattering
G4DeuteronInelasticProcess fDeuteronProcess
G4hIonisation fHe3Ionisation
G4MultipleScattering fHe3MultipleScattering
G4hIonisation fIonIonisation
G4MultipleScattering fIonMultipleScattering
G4hIonisation fTritonIonisation
G4LETritonInelastic * fTritonModel
G4MultipleScattering fTritonMultipleScattering
G4TritonInelasticProcess fTritonProcess
G4LElastic * theElasticModel
G4HadronElasticProcess theElasticProcess


Constructor & Destructor Documentation

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

00038                  :  G4VPhysicsConstructor(name)
00039 {
00040 }

ExN04IonPhysics::~ExN04IonPhysics  )  [virtual]
 

00043 {
00044 }


Member Function Documentation

void ExN04IonPhysics::ConstructParticle  )  [virtual]
 

00053 {
00054   //  Construct light ions
00055   G4IonConstructor pConstructor;
00056   pConstructor.ConstructParticle();  
00057 }

void ExN04IonPhysics::ConstructProcess  )  [virtual]
 

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]
 

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]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:14:00 2011 for BOSS6.5.5 by  doxygen 1.3.9.1