Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions
LocalINCLIonIonInelasticPhysic Class Reference

#include <LocalINCLIonIonInelasticPhysic.hh>

Inheritance diagram for LocalINCLIonIonInelasticPhysic:
G4VPhysicsConstructor

Public Member Functions

 LocalINCLIonIonInelasticPhysic (const G4String &name="local_ion_ion_inelastic")
 
virtual ~LocalINCLIonIonInelasticPhysic ()
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Protected Member Functions

void ConstructParticle ()
 
void ConstructProcess ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 41 of file LocalINCLIonIonInelasticPhysic.hh.

Constructor & Destructor Documentation

LocalINCLIonIonInelasticPhysic::LocalINCLIonIonInelasticPhysic ( const G4String name = "local_ion_ion_inelastic")

Definition at line 68 of file LocalINCLIonIonInelasticPhysic.cc.

References G4cout, and G4endl.

68  :
70 {
71  G4cout << G4endl
72  << "A local inelastic model is activated for all ions"
73  << G4endl;
74 }
G4GLOB_DLL std::ostream G4cout
G4VPhysicsConstructor(const G4String &="")
#define G4endl
Definition: G4ios.hh:61
LocalINCLIonIonInelasticPhysic::~LocalINCLIonIonInelasticPhysic ( )
virtual

Definition at line 77 of file LocalINCLIonIonInelasticPhysic.cc.

78 {}

Member Function Documentation

void LocalINCLIonIonInelasticPhysic::ConstructParticle ( void  )
inlineprotectedvirtual

Implements G4VPhysicsConstructor.

Definition at line 48 of file LocalINCLIonIonInelasticPhysic.hh.

48 {};
void LocalINCLIonIonInelasticPhysic::ConstructProcess ( void  )
protectedvirtual

Implements G4VPhysicsConstructor.

Definition at line 81 of file LocalINCLIonIonInelasticPhysic.cc.

References G4Alpha::Alpha(), G4Deuteron::Deuteron(), G4GenericIon::GenericIon(), python.hepunit::GeV, python.hepunit::MeV, and G4Triton::Triton().

82 {
83  G4ParticleDefinition* particle = 0;
84  G4ProcessManager* processManager = 0;
85 
86  // ****************************************************************
87  // *** Ion-Ion models definition ***
88  // ****************************************************************
89  G4QMDReaction* JQMDmodel = new G4QMDReaction();
90  JQMDmodel -> SetMinEnergy(0*MeV);
91  JQMDmodel -> SetMaxEnergy(10*GeV);
92 
94  lightBinary -> SetMinEnergy(0*MeV);
95  lightBinary -> SetMaxEnergy(10*GeV);
96 
97  G4WilsonAbrasionModel* WilsonModel = new G4WilsonAbrasionModel();
98  WilsonModel -> SetUseAblation(true);
99  WilsonModel -> SetMinEnergy(0*MeV);
100  WilsonModel -> SetMaxEnergy(10 *GeV);
101 
102  // G4INCLXXInterface* INCLIonModel = new G4INCLXXInterface();
103 
104  G4TripathiCrossSection* TripatiCrossSections = new G4TripathiCrossSection;
105  G4TripathiCrossSection* TripatiLightCrossSections = new G4TripathiCrossSection;
106  G4IonsShenCrossSection* ShenCrossSections = new G4IonsShenCrossSection;
107 
108  // ****************
109  // *** Deuteron ***
110  // ****************
111  G4DeuteronInelasticProcess* deuteronInelasticProcess = new G4DeuteronInelasticProcess;
112 
113  deuteronInelasticProcess -> AddDataSet(ShenCrossSections);
114  deuteronInelasticProcess -> AddDataSet(TripatiCrossSections);
115  deuteronInelasticProcess -> AddDataSet(TripatiLightCrossSections);
116 
117  //deuteronInelasticProcess -> RegisterMe(INCLIonModel);
118  //deuteronInelasticProcess -> RegisterMe(lightBinary);
119  deuteronInelasticProcess -> RegisterMe(JQMDmodel);
120  //deuteronInelasticProcess -> RegisterMe(WilsonModel);
121 
122  particle = G4Deuteron::Deuteron();
123  processManager = particle -> GetProcessManager();
124  processManager -> AddDiscreteProcess(deuteronInelasticProcess);
125 
126  // **************
127  // *** Triton ***
128  // **************
129  G4TritonInelasticProcess* tritonInelasticProcess = new G4TritonInelasticProcess;
130 
131  tritonInelasticProcess -> AddDataSet(ShenCrossSections);
132  tritonInelasticProcess -> AddDataSet(TripatiCrossSections);
133  tritonInelasticProcess -> AddDataSet(TripatiLightCrossSections);
134 
135  //tritonInelasticProcess -> RegisterMe(INCLIonModel);
136  //tritonInelasticProcess -> RegisterMe(lightBinary);
137  tritonInelasticProcess -> RegisterMe(JQMDmodel);
138  //tritonInelasticProcess -> RegisterMe(WilsonModel);
139 
140  particle = G4Triton::Triton();
141  processManager = particle -> GetProcessManager();
142  processManager -> AddDiscreteProcess(tritonInelasticProcess);
143 
144  // *************
145  // *** He3 ***
146  // *************
147  /*
148  G4He3InelasticProcess* he3InelasticProcess = new G4He3InelasticProcess;
149 
150  he3InelasticProcess -> AddDataSet(ShenCrossSections);
151  he3InelasticProcess -> AddDataSet(TripatiCrossSections);
152  he3InelasticProcess -> AddDataSet(TripatiLightCrossSections);
153 
154  he3InelasticProcess -> RegisterMe(INCLIonModel);
155 
156  particle = G4He3::He3();
157  processManager = particle -> GetProcessManager();
158  processManager -> AddDiscreteProcess(he3InelasticProcess);
159  */
160  // *************
161  // *** Alpha ***
162  // *************
163  G4AlphaInelasticProcess* alphaInelasticProcess = new G4AlphaInelasticProcess;
164 
165  alphaInelasticProcess -> AddDataSet(ShenCrossSections);
166  alphaInelasticProcess -> AddDataSet(TripatiCrossSections);
167  alphaInelasticProcess -> AddDataSet(TripatiLightCrossSections);
168 
169  //alphaInelasticProcess -> RegisterMe(INCLIonModel);
170  //alphaInelasticProcess -> RegisterMe(lightBinary);
171  alphaInelasticProcess -> RegisterMe(JQMDmodel);
172  //alphaInelasticProcess -> RegisterMe(WilsonModel);
173 
174  particle = G4Alpha::Alpha();
175  processManager = particle -> GetProcessManager();
176  processManager -> AddDiscreteProcess(alphaInelasticProcess);
177 
178  // *******************
179  // *** Generic Ion ***
180  // *******************
181  G4IonInelasticProcess* genericIonInelasticProcess = new G4IonInelasticProcess();
182 
183  genericIonInelasticProcess -> AddDataSet(ShenCrossSections);
184  genericIonInelasticProcess -> AddDataSet(TripatiCrossSections);
185  genericIonInelasticProcess -> AddDataSet(TripatiLightCrossSections);
186 
187  //genericIonInelasticProcess -> RegisterMe(lightBinary);
188  genericIonInelasticProcess -> RegisterMe(JQMDmodel);
189  //genericIonInelasticProcess -> RegisterMe(WilsonModel);
190 
191  particle = G4GenericIon::GenericIon();
192  processManager = particle -> GetProcessManager();
193  processManager -> AddDiscreteProcess(genericIonInelasticProcess);
194 }
static G4Triton * Triton()
Definition: G4Triton.cc:95
static G4Deuteron * Deuteron()
Definition: G4Deuteron.cc:94
static G4GenericIon * GenericIon()
Definition: G4GenericIon.cc:93
static G4Alpha * Alpha()
Definition: G4Alpha.cc:89

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