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

#include <LocalIonIonInelasticPhysic.hh>

Inheritance diagram for LocalIonIonInelasticPhysic:
G4VPhysicsConstructor

Public Member Functions

 LocalIonIonInelasticPhysic (const G4String &name="local_ion_ion_inelastic")
 
virtual ~LocalIonIonInelasticPhysic ()
 
- 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 LocalIonIonInelasticPhysic.hh.

Constructor & Destructor Documentation

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

Definition at line 67 of file LocalIonIonInelasticPhysic.cc.

References G4cout, and G4endl.

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

Definition at line 76 of file LocalIonIonInelasticPhysic.cc.

77 {}

Member Function Documentation

void LocalIonIonInelasticPhysic::ConstructParticle ( void  )
inlineprotectedvirtual

Implements G4VPhysicsConstructor.

Definition at line 48 of file LocalIonIonInelasticPhysic.hh.

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

Implements G4VPhysicsConstructor.

Definition at line 80 of file LocalIonIonInelasticPhysic.cc.

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

81 {
82  G4ParticleDefinition* particle = 0;
83  G4ProcessManager* processManager = 0;
84 
85  // ****************************************************************
86  // *** Ion-Ion models definition ***
87  // ****************************************************************
88  G4QMDReaction* JQMDmodel = new G4QMDReaction();
89  JQMDmodel -> SetMinEnergy(0*MeV);
90  JQMDmodel -> SetMaxEnergy(10*GeV);
91 
93  ligthBinary -> SetMinEnergy(0*MeV);
94  ligthBinary -> SetMaxEnergy(10*GeV);
95 
96  G4WilsonAbrasionModel* WilsonModel = new G4WilsonAbrasionModel();
97  WilsonModel -> SetUseAblation(true);
98  WilsonModel -> SetMinEnergy(0*MeV);
99  WilsonModel -> SetMaxEnergy(10 *GeV);
100 
101  G4TripathiCrossSection* TripatiCrossSections = new G4TripathiCrossSection;
102  G4TripathiLightCrossSection* TripatiLightCrossSections = new G4TripathiLightCrossSection;
103  G4IonsShenCrossSection* ShenCrossSections = new G4IonsShenCrossSection;
104 
105  // ****************
106  // *** Deuteron ***
107  // ****************
108  G4DeuteronInelasticProcess* deuteronInelasticProcess = new G4DeuteronInelasticProcess;
109 
110  deuteronInelasticProcess -> AddDataSet(ShenCrossSections);
111  deuteronInelasticProcess -> AddDataSet(TripatiCrossSections);
112  deuteronInelasticProcess -> AddDataSet(TripatiLightCrossSections);
113 
114  deuteronInelasticProcess -> RegisterMe(ligthBinary);
115  //deuteronInelasticProcess -> RegisterMe(JQMDmodel);
116  //deuteronInelasticProcess -> RegisterMe(WilsonModel);
117 
118  particle = G4Deuteron::Deuteron();
119  processManager = particle -> GetProcessManager();
120  processManager -> AddDiscreteProcess(deuteronInelasticProcess);
121 
122  // **************
123  // *** Triton ***
124  // **************
125  G4TritonInelasticProcess* tritonInelasticProcess = new G4TritonInelasticProcess;
126 
127  tritonInelasticProcess -> AddDataSet(ShenCrossSections);
128  tritonInelasticProcess -> AddDataSet(TripatiCrossSections);
129  tritonInelasticProcess -> AddDataSet(TripatiLightCrossSections);
130 
131  tritonInelasticProcess -> RegisterMe(ligthBinary);
132  //tritonInelasticProcess -> RegisterMe(JQMDmodel);
133  //tritonInelasticProcess -> RegisterMe(WilsonModel);
134 
135  particle = G4Triton::Triton();
136  processManager = particle -> GetProcessManager();
137  processManager -> AddDiscreteProcess(tritonInelasticProcess);
138 
139  // *************
140  // *** Alpha ***
141  // *************
142  G4AlphaInelasticProcess* alphaInelasticProcess = new G4AlphaInelasticProcess;
143 
144  alphaInelasticProcess -> AddDataSet(ShenCrossSections);
145  alphaInelasticProcess -> AddDataSet(TripatiCrossSections);
146  alphaInelasticProcess -> AddDataSet(TripatiLightCrossSections);
147 
148  alphaInelasticProcess -> RegisterMe(ligthBinary);
149  //alphaInelasticProcess -> RegisterMe(JQMDmodel);
150  //alphaIonInelasticProcess -> RegisterMe(WilsonModel);
151 
152  particle = G4Alpha::Alpha();
153  processManager = particle -> GetProcessManager();
154  processManager -> AddDiscreteProcess(alphaInelasticProcess);
155 
156  // *******************
157  // *** Generic Ion ***
158  // *******************
159  G4IonInelasticProcess* genericIonInelasticProcess = new G4IonInelasticProcess();
160 
161  genericIonInelasticProcess -> AddDataSet(ShenCrossSections);
162  genericIonInelasticProcess -> AddDataSet(TripatiCrossSections);
163  genericIonInelasticProcess -> AddDataSet(TripatiLightCrossSections);
164 
165  genericIonInelasticProcess -> RegisterMe(ligthBinary);
166  //genericIonInelasticProcess -> RegisterMe(JQMDmodel);
167  //genericIonInelasticProcess -> RegisterMe(WilsonModel);
168 
169  particle = G4GenericIon::GenericIon();
170  processManager = particle -> GetProcessManager();
171  processManager -> AddDiscreteProcess(genericIonInelasticProcess);
172 }
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: