BOSS 6.6.4.p01
BESIII Offline Software System
Loading...
Searching...
No Matches
ExN04IonPhysics Class Reference

#include <ExN04IonPhysics.hh>

+ Inheritance diagram for ExN04IonPhysics:

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::ExN04IonPhysics ( const G4String &  name = "ion")

Definition at line 37 of file ExN04IonPhysics.cxx.

38 : G4VPhysicsConstructor(name)
39{
40}

◆ ~ExN04IonPhysics()

ExN04IonPhysics::~ExN04IonPhysics ( )
virtual

Definition at line 42 of file ExN04IonPhysics.cxx.

43{
44}

Member Function Documentation

◆ ConstructParticle()

void ExN04IonPhysics::ConstructParticle ( )
virtual

Definition at line 52 of file ExN04IonPhysics.cxx.

53{
54 // Construct light ions
55 G4IonConstructor pConstructor;
56 pConstructor.ConstructParticle();
57}

◆ ConstructProcess()

void ExN04IonPhysics::ConstructProcess ( )
virtual

Definition at line 63 of file ExN04IonPhysics.cxx.

64{
65 G4ProcessManager * pManager = 0;
66
67 // Elastic Process
68 theElasticModel = new G4LElastic();
70
71 // Generic Ion
72 pManager = G4GenericIon::GenericIon()->GetProcessManager();
73 // add process
74 pManager->AddDiscreteProcess(&theElasticProcess);
75
76 pManager->AddProcess(&fIonIonisation, ordInActive, 2, 2);
77
78 pManager->AddProcess(&fIonMultipleScattering);
79 pManager->SetProcessOrdering(&fIonMultipleScattering, idxAlongStep, 1);
80 pManager->SetProcessOrdering(&fIonMultipleScattering, idxPostStep, 1);
81
82 // Deuteron
83 pManager = G4Deuteron::Deuteron()->GetProcessManager();
84 // add process
85 pManager->AddDiscreteProcess(&theElasticProcess);
86
87 fDeuteronModel = new G4LEDeuteronInelastic();
89 pManager->AddDiscreteProcess(&fDeuteronProcess);
90
91 pManager->AddProcess(&fDeuteronIonisation, ordInActive, 2, 2);
92
93 pManager->AddProcess(&fDeuteronMultipleScattering);
94 pManager->SetProcessOrdering(&fDeuteronMultipleScattering, idxAlongStep, 1);
95 pManager->SetProcessOrdering(&fDeuteronMultipleScattering, idxPostStep, 1);
96
97 // Triton
98 pManager = G4Triton::Triton()->GetProcessManager();
99 // add process
100 pManager->AddDiscreteProcess(&theElasticProcess);
101
102 fTritonModel = new G4LETritonInelastic();
103 fTritonProcess.RegisterMe(fTritonModel);
104 pManager->AddDiscreteProcess(&fTritonProcess);
105
106 pManager->AddProcess(&fTritonIonisation, ordInActive, 2, 2);
107
108 pManager->AddProcess(&fTritonMultipleScattering);
109 pManager->SetProcessOrdering(&fTritonMultipleScattering, idxAlongStep, 1);
110 pManager->SetProcessOrdering(&fTritonMultipleScattering, idxPostStep, 1);
111
112 // Alpha
113 pManager = G4Alpha::Alpha()->GetProcessManager();
114 // add process
115 pManager->AddDiscreteProcess(&theElasticProcess);
116
117 fAlphaModel = new G4LEAlphaInelastic();
118 fAlphaProcess.RegisterMe(fAlphaModel);
119 pManager->AddDiscreteProcess(&fAlphaProcess);
120
121 pManager->AddProcess(&fAlphaIonisation, ordInActive, 2, 2);
122
123 pManager->AddProcess(&fAlphaMultipleScattering);
124 pManager->SetProcessOrdering(&fAlphaMultipleScattering, idxAlongStep, 1);
125 pManager->SetProcessOrdering(&fAlphaMultipleScattering, idxPostStep, 1);
126
127 // He3
128 pManager = G4He3::He3()->GetProcessManager();
129 // add process
130 pManager->AddDiscreteProcess(&theElasticProcess);
131
132 pManager->AddProcess(&fHe3Ionisation, ordInActive, 2, 2);
133
134 pManager->AddProcess(&fHe3MultipleScattering);
135 pManager->SetProcessOrdering(&fHe3MultipleScattering, idxAlongStep, 1);
136 pManager->SetProcessOrdering(&fHe3MultipleScattering, idxPostStep, 1);
137
138}
G4LEAlphaInelastic * fAlphaModel
G4MultipleScattering fHe3MultipleScattering
G4hIonisation fDeuteronIonisation
G4hIonisation fHe3Ionisation
G4LEDeuteronInelastic * fDeuteronModel
G4AlphaInelasticProcess fAlphaProcess
G4MultipleScattering fAlphaMultipleScattering
G4MultipleScattering fDeuteronMultipleScattering
G4DeuteronInelasticProcess fDeuteronProcess
G4hIonisation fIonIonisation
G4hIonisation fAlphaIonisation
G4TritonInelasticProcess fTritonProcess
G4LETritonInelastic * fTritonModel
G4MultipleScattering fTritonMultipleScattering
G4hIonisation fTritonIonisation
G4LElastic * theElasticModel
G4HadronElasticProcess theElasticProcess
G4MultipleScattering fIonMultipleScattering

Member Data Documentation

◆ fAlphaIonisation

G4hIonisation ExN04IonPhysics::fAlphaIonisation
protected

Definition at line 99 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fAlphaModel

G4LEAlphaInelastic* ExN04IonPhysics::fAlphaModel
protected

Definition at line 101 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fAlphaMultipleScattering

G4MultipleScattering ExN04IonPhysics::fAlphaMultipleScattering
protected

Definition at line 98 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fAlphaProcess

G4AlphaInelasticProcess ExN04IonPhysics::fAlphaProcess
protected

Definition at line 100 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fDeuteronIonisation

G4hIonisation ExN04IonPhysics::fDeuteronIonisation
protected

Definition at line 87 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fDeuteronModel

G4LEDeuteronInelastic* ExN04IonPhysics::fDeuteronModel
protected

Definition at line 89 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fDeuteronMultipleScattering

G4MultipleScattering ExN04IonPhysics::fDeuteronMultipleScattering
protected

Definition at line 86 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fDeuteronProcess

G4DeuteronInelasticProcess ExN04IonPhysics::fDeuteronProcess
protected

Definition at line 88 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fHe3Ionisation

G4hIonisation ExN04IonPhysics::fHe3Ionisation
protected

Definition at line 105 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fHe3MultipleScattering

G4MultipleScattering ExN04IonPhysics::fHe3MultipleScattering
protected

Definition at line 104 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fIonIonisation

G4hIonisation ExN04IonPhysics::fIonIonisation
protected

Definition at line 83 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fIonMultipleScattering

G4MultipleScattering ExN04IonPhysics::fIonMultipleScattering
protected

Definition at line 82 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fTritonIonisation

G4hIonisation ExN04IonPhysics::fTritonIonisation
protected

Definition at line 93 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fTritonModel

G4LETritonInelastic* ExN04IonPhysics::fTritonModel
protected

Definition at line 95 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fTritonMultipleScattering

G4MultipleScattering ExN04IonPhysics::fTritonMultipleScattering
protected

Definition at line 92 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ fTritonProcess

G4TritonInelasticProcess ExN04IonPhysics::fTritonProcess
protected

Definition at line 94 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ theElasticModel

G4LElastic* ExN04IonPhysics::theElasticModel
protected

Definition at line 79 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().

◆ theElasticProcess

G4HadronElasticProcess ExN04IonPhysics::theElasticProcess
protected

Definition at line 78 of file ExN04IonPhysics.hh.

Referenced by ConstructProcess().


The documentation for this class was generated from the following files: