132 genericIonsManager->
GetIon(
"alpha+");
133 genericIonsManager->
GetIon(
"helium");
134 genericIonsManager->
GetIon(
"hydrogen");
147 G4int nreg = regnamesDNA.size();
155 G4cout <<
"### G4EmDNAPhysicsActivator::ConstructProcess for " << nreg
156 <<
" regions; DNA physics type " << typesDNA[0] <<
G4endl;
375 for(
G4int i = 0; i < nreg; ++i)
380 G4cout <<
"### DNA models type " << typesDNA[i]
381 <<
" are activated for G4Region " << reg <<
G4endl;
437 mod, reg, 0., elowest);
443 mod, reg, 0.0, elimel);
453 mod, reg, elim1, elimin);
457 mod, reg, 0.0, elim1);
462 mod, reg, 0.0, elim1);
466 mod, reg, elim1, elimin);
470 mod, reg, 0.0, elimvb);
474 mod, reg, 0.0, elimat);
503 em_config->
SetExtraEmModel(
"proton",
"CoulombScat", mod, reg, 0.0, emax);
508 mod, reg, 0.0, pminbb,
514 mod, reg, pminbb, emax,
519 mod, reg, 0.0, gmmax);
523 mod, reg, gmmax, pmax);
527 mod, reg, 0.0, gmmax);
531 mod, reg, gmmax, pmax);
535 mod, reg, 0.0, pmax);
539 mod, reg, 0.0, elimel);
544 mod, reg, 0.0, pmax);
548 mod, reg, 0.0, gmmax);
552 mod, reg, 0.0, pmax);
556 mod, reg, 0.0, elimel);
576 mod, reg, 0.0, pminbb,
582 mod, reg, pminbb, emax,
587 mod, reg, 0.0, iemax);
606 G4double pminbba = massRatio*pminbb;
608 G4cout <<
"AddHeliumModels0 for <" << reg <<
"> a1msc: " << a1msc <<
" a2msc: " << a2msc
609 <<
" elimel= " << elimel <<
" pminbba= " << pminbba <<
G4endl;
620 em_config->
SetExtraEmModel(
"alpha",
"CoulombScat", mod, reg, 0.0, emax);
627 mod, reg, 0.0, pminbba,
633 mod, reg, pminbba, emax,
638 mod, reg, 0.0, hemax);
642 mod, reg, 0.0, hemax);
646 mod, reg, 0.0, hemax);
650 mod, reg, 0.0, elimel);
662 em_config->
SetExtraEmModel(
"alpha+",
"CoulombScat", mod, reg, 0.0, emax);
669 mod, reg, 0.0, pminbba,
675 mod, reg, pminbba, emax,
680 mod, reg, 0.0, hemax);
684 mod, reg, 0.0, hemax);
688 mod, reg, 0.0, hemax);
692 mod, reg, 0.0, hemax);
696 mod, reg, 0.0, elimel);
702 mod, reg, 0.0, hemax);
706 mod, reg, 0.0, hemax);
710 mod, reg, 0.0, hemax);
714 mod, reg, 0.0, elimel);
724 for(
G4int i = 0; i < nproc; ++i) {
744 for(
G4int i = 0; i < nproc; ++i)
static G4GenericIon * GenericIon()
static constexpr double MeV
G4int GetProcessListLength() const
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
void AddRegion(const G4String &)
static constexpr double keV
G4TDNAOneStepThermalizationModel< DNA::Penetration::Meesungnoen2002 > G4DNAOneStepThermalizationModel
G4double MaxKinEnergy() const
G4DNABornExcitationModel1 G4DNABornExcitationModel
virtual ~G4EmDNAPhysicsActivator()
const std::vector< G4String > & TypesDNA() const
static const G4double emax
static G4Proton * Proton()
void SetExtraEmModel(const G4String &particleName, const G4String &processName, G4VEmModel *, const G4String ®ionName="", G4double emin=0.0, G4double emax=DBL_MAX, G4VEmFluctuationModel *fm=nullptr)
G4ProcessVector * GetProcessList() const
G4double GetPDGMass() const
void DeactivateNuclearStopping(G4ProcessManager *, G4double elimel)
void AddElectronModels0(const G4String ®ion, G4LowECapture *ecap, G4bool emsc, G4double elowest, G4double elimel)
void AddGenericIonModels0(const G4String ®ion, G4double pminbb)
static constexpr double proton_mass_c2
G4EmDNAPhysicsActivator(G4int ver=1)
void AddHeliumModels0(const G4String ®ion, G4bool a1msc, G4bool a2msc, G4double elimel, G4double pminbb, G4double pmax)
virtual void ConstructParticle()
void SetActivationLowEnergyLimit(G4double)
void SetEmModel(G4VEmModel *, G4int index=0)
G4EmParameters * theParameters
virtual void ConstructProcess()
static G4Positron * Positron()
static constexpr double eV
static G4Electron * Electron()
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4GenericIon * GenericIonDefinition()
G4bool HasMsc(G4ProcessManager *) const
static G4PhysicsListHelper * GetPhysicsListHelper()
G4ParticleDefinition * GetIon(const G4String &name)
G4ProcessManager * GetProcessManager() const
#define G4DNABornIonisationModel
static G4DNAGenericIonsManager * Instance(void)
void AddProtonModels0(const G4String ®ion, G4bool pmsc, G4double elimel, G4double pminbb, G4double pmax)
G4GLOB_DLL std::ostream G4cout
static G4LossTableManager * Instance()
void AddEmModel(G4int, G4VEmModel *, const G4Region *region=nullptr)
static const G4double reg
G4EmConfigurator * EmConfigurator()
const std::vector< G4String > & RegionsDNA() const
static G4EmParameters * Instance()
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
static G4bool IsActivated()