31 #include "PhysicsList.hh"
82 #include "G4ElectronCapture.hh"
94 fpNumberOfSplit->SetGuidance(
"Number of split for particle splitting");
95 fpNumberOfSplit->SetParameterName(
"NumberOfSplit",
false);
96 fpNumberOfSplit->SetDefaultValue(1);
99 fCutForGamma = defaultCutValue;
100 fCutForElectron = defaultCutValue;
101 fCutForPositron = defaultCutValue;
102 fCutForProton = defaultCutValue;
162 genericIonsManager->
GetIon(
"alpha++");
163 genericIonsManager->
GetIon(
"alpha+");
164 genericIonsManager->
GetIon(
"helium");
165 genericIonsManager->
GetIon(
"hydrogen");
184 G4bool splitProcessActive =
false;
187 splitProcessActive =
true;
200 if (particleName ==
"e-") {
227 if (splitProcessActive) {
229 G4cout <<
"- Split for e-e created in e-_G4DNAIonisation process activated"
231 << splitRegion <<
"-- " <<
G4endl;
259 }
else if ( particleName ==
"proton" ) {
289 }
else if ( particleName ==
"hydrogen" ) {
300 }
else if (particleName ==
"GenericIon") {
315 }
else if ( particleName ==
"alpha" ) {
343 }
else if ( particleName ==
"alpha+" ) {
356 }
else if ( particleName ==
"helium" ) {
382 G4double massFactor = 1.0079/4.0026;
410 mod,
"Target",7.4*
eV,1.*
MeV);
414 mod,
"Target",11.*
eV,1.*
MeV);
420 mod,
"Target",9.*
eV,1.*
MeV);
424 mod,
"Target",4.*
eV,13.*
eV);
428 mod,
"Target",2.*
eV,100.*
eV);
445 mod,
"Target",2*
MeV,100*
TeV,
452 mod,
"Target",0.0,0.5*
MeV);
456 mod,
"Target",0.5*
MeV,10*
MeV);
460 mod,
"Target",10*
eV,0.5*
MeV);
464 mod,
"Target",0.5*
MeV,10*
MeV);
476 mod,
"Target",0.0,2*
MeV/massFactor,
482 mod,
"Target",2*
MeV/massFactor,100*
TeV,
489 mod,
"Target",0.0,10*
MeV);
493 mod,
"Target",1*
keV,10*
MeV);
508 G4cout <<
"PhysicsList::SetCuts:";
G4UIcmdWithAnInteger * fpNumberOfSplit
static constexpr double micrometer
Definition of the SplitProcess class.
virtual void RegisterProcess(G4VProcess *)
void SetEmModel(G4VEmModel *, G4int index=0)
static constexpr double MeV
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
static constexpr double keV
G4EmConfigurator em_config
const G4String & GetParticleName() const
G4DNABornExcitationModel1 G4DNABornExcitationModel
void SetExtraEmModel(const G4String &particleName, const G4String &processName, G4VEmModel *, const G4String ®ionName="", G4double emin=0.0, G4double emax=DBL_MAX, G4VEmFluctuationModel *fm=nullptr)
static constexpr double TeV
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
static G4Proton * ProtonDefinition()
void SetActivationLowEnergyLimit(G4double)
void SetEmModel(G4VEmModel *, G4int index=0)
PhysicsList()
Implementation of the PhysicsList class.
void SetNumberOfSplit(G4int numberOfSplit)
static constexpr double eV
static G4Electron * ElectronDefinition()
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
static G4Gamma * GammaDefinition()
static G4GenericIon * GenericIonDefinition()
virtual void SetNewValue(G4UIcommand *command, G4String newValue)
G4ParticleDefinition * GetIon(const G4String &name)
G4ProcessManager * GetProcessManager() const
#define G4DNABornIonisationModel
static G4DNAGenericIonsManager * Instance(void)
static G4int GetNewIntValue(const char *paramString)
std::vector< G4InuclElementaryParticle >::iterator particleIterator
G4GLOB_DLL std::ostream G4cout
static G4LossTableManager * Instance()
void SetCutValue(G4double aCut, const G4String &pname)
void AddEmModel(G4int order, G4VEmModel *, const G4Region *region=nullptr)
static G4Positron * PositronDefinition()
void DumpCutValuesTable(G4int flag=1)
G4EmConfigurator * EmConfigurator()