52 <<
"> - only G4GenericIon is allowed";
53 G4Exception(
"G4DNAIonChargeIncreaseModel::Initialise(...)",
67 fDummy->Initialise(part, v);
85 G4int Q =
G4lrint(fDynParticle->GetCharge()/CLHEP::eplus);
87 if (Q >= Z) {
return 0.0; }
90 fCurrentModel = fDummy;
93 return fCurrentModel->CrossSectionPerVolume(mat, p, ekin);
104 fCurrentModel->SampleSecondaries(fvect, couple, dp);
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4DNAIonChargeIncreaseModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="DNAIonChargeIncrease")
G4ParticleChangeForGamma * fParticleChangeForGamma
void StartTracking(G4Track *) override
G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double, G4double) override
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double) override
static G4GenericIon * GenericIon()
G4int GetAtomicNumber() const
const G4String & GetParticleName() const
const G4DynamicParticle * GetDynamicParticle() const
G4ParticleChangeForGamma * GetParticleChangeForGamma()
G4VEmModel(const G4String &nam)