26#ifndef G4DNAUeharaScreenedRutherfordElasticModel_h
27#define G4DNAUeharaScreenedRutherfordElasticModel_h 1
40 const G4String& nam =
"DNAUeharaScreenedRutherfordElasticModel");
95 std::vector<G4double>& vec);
125 "*** WARNING : the G4DNAUeharaScreenedRutherfordElasticModel class is "
126 "used above 10 keV !",
137 errMsg <<
"*** WARNING : "
138 <<
"G4DNAUeharaScreenedRutherfordElasticModel::SetKillBelowThreshold"
139 <<
"is deprecated, the kill threshold won't be taken into account";
142 "G4DNAUeharaScreenedRutherfordElasticModel::SetKillBelowThreshold",
150 errMsg <<
"*** WARNING : "
151 <<
"G4DNAUeharaScreenedRutherfordElasticModel::GetKillBelowThreshold"
152 <<
"is deprecated, the returned value is nonsense";
155 "G4DNAUeharaScreenedRutherfordElasticModel::GetKillBelowThreshold",
static const G4double emax
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4DNAUeharaScreenedRutherfordElasticModel(const G4ParticleDefinition *p=0, const G4String &nam="DNAUeharaScreenedRutherfordElasticModel")
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
void SelectHighEnergyLimit(G4double threshold)
G4double BrennerZaiderRandomizeCosTheta(G4double k)
std::vector< G4double > gamma035_10Coeff
G4double ScreenedRutherfordRandomizeCosTheta(G4double k, G4double z)
void SetKillBelowThreshold(G4double threshold)
virtual ~G4DNAUeharaScreenedRutherfordElasticModel()
void SelectFasterComputation(G4bool input)
G4ParticleChangeForGamma * fParticleChangeForGamma
const std::vector< G4double > * fpWaterDensity
G4double RutherfordCrossSection(G4double energy, G4double z)
virtual G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)
std::vector< G4double > deltaCoeff
std::vector< G4double > betaCoeff
std::vector< G4double > gamma10_100Coeff
G4DNAUeharaScreenedRutherfordElasticModel & operator=(const G4DNAUeharaScreenedRutherfordElasticModel &right)
G4double intermediateEnergyLimit
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
G4DNAUeharaScreenedRutherfordElasticModel(const G4DNAUeharaScreenedRutherfordElasticModel &)
G4double GetKillBelowThreshold()
G4double ScreeningFactor(G4double energy, G4double z)
G4double CalculatePolynomial(G4double k, std::vector< G4double > &vec)
std::vector< G4double > gamma100_200Coeff
void SetHighEnergyLimit(G4double)
static constexpr double keV
G4double energy(const ThreeVector &p, const G4double m)