Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4IonPhysics Class Reference

#include <G4IonPhysics.hh>

+ Inheritance diagram for G4IonPhysics:

Public Member Functions

 G4IonPhysics (G4int ver=0)
 
 G4IonPhysics (const G4String &nname)
 
virtual ~G4IonPhysics ()
 
void ConstructParticle ()
 
void ConstructProcess ()
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
virtual void ConstructParticle ()=0
 
virtual void ConstructProcess ()=0
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 

Additional Inherited Members

- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4ParticleTable::G4PTblDicIteratortheParticleIterator
 
G4PhysicsListHelperthePLHelper
 

Detailed Description

Definition at line 52 of file G4IonPhysics.hh.

Constructor & Destructor Documentation

◆ G4IonPhysics() [1/2]

G4IonPhysics::G4IonPhysics ( G4int  ver = 0)

Definition at line 77 of file G4IonPhysics.cc.

78 : G4VPhysicsConstructor("ionInelasticFTFP_BIC"),verbose(ver),
79 wasActivated(false)
80{
81// fTripathi = fTripathiLight = fShen = fIonH = 0;
82 fGGNuclNucl=0;
83 theIonBC = 0;
84 theFTFP = 0;
85 theBuilder = 0;
87 if(verbose > 1) { G4cout << "### G4IonPhysics" << G4endl; }
88}
@ bIons
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout

◆ G4IonPhysics() [2/2]

G4IonPhysics::G4IonPhysics ( const G4String nname)

Definition at line 92 of file G4IonPhysics.cc.

93 : G4VPhysicsConstructor(nname),verbose(1),
94 wasActivated(false)
95{
96// fTripathi = fTripathiLight = fShen = fIonH = 0;
97 fGGNuclNucl=0;
98 theIonBC = 0;
99 theFTFP = 0;
100 theBuilder = 0;
102 if(verbose > 1) { G4cout << "### G4IonPhysics" << G4endl; }
103}

◆ ~G4IonPhysics()

G4IonPhysics::~G4IonPhysics ( )
virtual

Definition at line 107 of file G4IonPhysics.cc.

108{
109 delete theBuilder;
110}

Member Function Documentation

◆ ConstructParticle()

void G4IonPhysics::ConstructParticle ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 114 of file G4IonPhysics.cc.

115{
116 // Construct ions
117 G4IonConstructor pConstructor;
118 pConstructor.ConstructParticle();
119}
static void ConstructParticle()

◆ ConstructProcess()

void G4IonPhysics::ConstructProcess ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 123 of file G4IonPhysics.cc.

124{
125 if(wasActivated) { return; }
126 wasActivated = true;
127
128 G4double emax = 100.*TeV;
129
131 G4PreCompoundModel* thePreCompound = new G4PreCompoundModel(handler);
132
133 // Binary Cascade
134 theIonBC = new G4BinaryLightIonReaction(thePreCompound);
135 theIonBC->SetMinEnergy(0.0);
136 theIonBC->SetMaxEnergy(4*GeV);
137
138 // FTFP
139 theBuilder = new G4FTFBuilder("FTFP",thePreCompound);
140 theFTFP = theBuilder->GetModel();
141 theFTFP->SetMinEnergy(2*GeV);
142 theFTFP->SetMaxEnergy(emax);
143
144 //fShen = new G4IonsShenCrossSection();
145 //fTripathi = new G4TripathiCrossSection();
146 //fTripathiLight = new G4TripathiLightCrossSection();
147 //fIonH = new G4IonProtonCrossSection();
149
150 AddProcess("dInelastic", G4Deuteron::Deuteron(),false);
151 AddProcess("tInelastic",G4Triton::Triton(),false);
152 AddProcess("He3Inelastic",G4He3::He3(),true);
153 AddProcess("alphaInelastic", G4Alpha::Alpha(),true);
154 AddProcess("ionInelastic",G4GenericIon::GenericIon(),true);
155
156 if(verbose > 1) {
157 G4cout << "G4IonPhysics::ConstructProcess done! "
158 << G4endl;
159 }
160}
double G4double
Definition: G4Types.hh:64
static G4Alpha * Alpha()
Definition: G4Alpha.cc:89
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=true)
static G4CrossSectionDataSetRegistry * Instance()
static G4Deuteron * Deuteron()
Definition: G4Deuteron.cc:94
static const char * Default_Name()
static G4GenericIon * GenericIon()
Definition: G4GenericIon.cc:92
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
static G4He3 * He3()
Definition: G4He3.cc:94
static G4Triton * Triton()
Definition: G4Triton.cc:95
G4HadronicInteraction * GetModel()

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