Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LocalIonIonInelasticPhysic Class Reference

#include <LocalIonIonInelasticPhysic.hh>

Inheritance diagram for LocalIonIonInelasticPhysic:
Collaboration diagram for LocalIonIonInelasticPhysic:

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)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 

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 35 of file LocalIonIonInelasticPhysic.hh.

Constructor & Destructor Documentation

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

Definition at line 62 of file LocalIonIonInelasticPhysic.cc.

62  :
64 {
65  G4cout << G4endl
66  << "A local inelastic model is activated for all ions"
67  << G4endl;
68 }
G4GLOB_DLL std::ostream G4cout
G4VPhysicsConstructor(const G4String &="")
#define G4endl
Definition: G4ios.hh:61
LocalIonIonInelasticPhysic::~LocalIonIonInelasticPhysic ( )
virtual

Definition at line 71 of file LocalIonIonInelasticPhysic.cc.

72 {}

Member Function Documentation

void LocalIonIonInelasticPhysic::ConstructParticle ( void  )
inlineprotectedvirtual

Implements G4VPhysicsConstructor.

Definition at line 42 of file LocalIonIonInelasticPhysic.hh.

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

Implements G4VPhysicsConstructor.

Definition at line 75 of file LocalIonIonInelasticPhysic.cc.

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

Here is the call graph for this function:


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