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

#include <G4IonINCLXXPhysics.hh>

Inheritance diagram for G4IonINCLXXPhysics:

Public Member Functions

 G4IonINCLXXPhysics (G4int ver=0)
 G4IonINCLXXPhysics (const G4String &name, G4int ver=0)
 ~G4IonINCLXXPhysics () override
void ConstructParticle () override
void ConstructProcess () override
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
G4int GetInstanceID () const
virtual void TerminateWorker ()
void SetVerboseLevel (G4int value)
G4int GetVerboseLevel () const

Additional Inherited Members

Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
PhysicsBuilder_V GetBuilders () const
void AddBuilder (G4PhysicsBuilderInterface *bld)
Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel = 0
G4String namePhysics = ""
G4int typePhysics = 0
G4ParticleTabletheParticleTable = nullptr
G4int g4vpcInstanceID = 0
Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager

Detailed Description

Definition at line 52 of file G4IonINCLXXPhysics.hh.

Constructor & Destructor Documentation

◆ G4IonINCLXXPhysics() [1/2]

G4IonINCLXXPhysics::G4IonINCLXXPhysics ( G4int ver = 0)

Definition at line 71 of file G4IonINCLXXPhysics.cc.

71 :
72 G4IonINCLXXPhysics("IonINCLXX", ver)
73{}
G4IonINCLXXPhysics(G4int ver=0)

Referenced by G4IonINCLXXPhysics().

◆ G4IonINCLXXPhysics() [2/2]

G4IonINCLXXPhysics::G4IonINCLXXPhysics ( const G4String & name,
G4int ver = 0 )

Definition at line 75 of file G4IonINCLXXPhysics.cc.

76 : G4VPhysicsConstructor(nname), verbose(ver)
77{
78 // INCLXX light ion maximum energy is 3.0 GeV/nucleon
79 emaxINCLXX = 3.0 * GeV;
80 deltaE = 100.*MeV;
82 G4DeexPrecoParameters* param = G4NuclearLevelData::GetInstance()->GetParameters();
84 if(verbose > 1) { G4cout << "### IonPhysics: " << nname << G4endl; }
85}
@ bIons
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
void SetDeexChannelsType(G4DeexChannelType)
G4DeexPrecoParameters * GetParameters()
static G4NuclearLevelData * GetInstance()
G4VPhysicsConstructor(const G4String &="")

◆ ~G4IonINCLXXPhysics()

G4IonINCLXXPhysics::~G4IonINCLXXPhysics ( )
override

Definition at line 87 of file G4IonINCLXXPhysics.cc.

88{}

Member Function Documentation

◆ ConstructParticle()

void G4IonINCLXXPhysics::ConstructParticle ( )
overridevirtual

Implements G4VPhysicsConstructor.

Definition at line 148 of file G4IonINCLXXPhysics.cc.

149{
150 // Construct light ions
151 G4IonConstructor pConstructor;
152 pConstructor.ConstructParticle();
153}
static void ConstructParticle()

◆ ConstructProcess()

void G4IonINCLXXPhysics::ConstructProcess ( )
overridevirtual

Implements G4VPhysicsConstructor.

Definition at line 90 of file G4IonINCLXXPhysics.cc.

91{
92 G4INCLXXInterface* theINCLXXDeuteron= new G4INCLXXInterface();
93 G4INCLXXInterface* theINCLXXTriton= new G4INCLXXInterface();
94 G4INCLXXInterface* theINCLXXHe3= new G4INCLXXInterface();
95 G4INCLXXInterface* theINCLXXAlpha= new G4INCLXXInterface();
96 G4INCLXXInterface* theINCLXXIons= new G4INCLXXInterface();
97
98 G4HadronicInteraction* p =
100 G4PreCompoundModel* thePreCompound = static_cast<G4PreCompoundModel*>(p);
101 if(!thePreCompound) { thePreCompound = new G4PreCompoundModel; }
102
103 G4CrossSectionInelastic* theNuclNuclData =
104 new G4CrossSectionInelastic( new G4ComponentGGNuclNuclXsc() );
105
107 G4HadronicInteraction* theFTFP = nullptr;
108 if(emax > emaxINCLXX) {
109 G4FTFBuilder theFTFPBuilder("FTFP",thePreCompound);
110 theFTFP = theFTFPBuilder.GetModel();
111 theFTFP->SetMinEnergy(emaxINCLXX - deltaE);
112 theFTFP->SetMaxEnergy(emax);
113 }
114
115 AddProcess("dInelastic", G4Deuteron::Deuteron(), theINCLXXDeuteron, theFTFP, theNuclNuclData);
116 AddProcess("tInelastic", G4Triton::Triton(), theINCLXXTriton, theFTFP, theNuclNuclData);
117 AddProcess("He3Inelastic", G4He3::He3(), theINCLXXHe3, theFTFP, theNuclNuclData);
118 AddProcess("alphaInelastic", G4Alpha::Alpha(), theINCLXXAlpha, theFTFP, theNuclNuclData);
119 AddProcess("ionInelastic", G4GenericIon::GenericIon(), theINCLXXIons, theFTFP, theNuclNuclData);
120}
double G4double
Definition G4Types.hh:83
static G4Alpha * Alpha()
Definition G4Alpha.cc:83
static G4Deuteron * Deuteron()
Definition G4Deuteron.cc:90
static G4GenericIon * GenericIon()
G4HadronicInteraction * FindModel(const G4String &name)
static G4HadronicInteractionRegistry * Instance()
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
static G4HadronicParameters * Instance()
static G4He3 * He3()
Definition G4He3.cc:90
static G4Triton * Triton()
Definition G4Triton.cc:90

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