78void G4hNuclearStoppingModel::InitializeMe()
81 highEnergyLimit = 100.*MeV ;
82 lowEnergyLimit = 1.*eV ;
83 factorPDG2AMU = 1.007276/proton_mass_c2 ;
84 theZieglerFactor= eV*cm2*1.0e-15 ;
91 if(zi77 == modelName) {
94 }
else if(ir49 == modelName || blank == modelName) {
97 }
else if(zi85 == modelName) {
102 "G4hLowEnergyIonisation warning: There is no table with the modelName <"
104 <<
" for nuclear stopping, <ICRU_R49> is applied "
118 delete nStopingPowerTable;
132 G4double nloss = StoppingPower(material, energy, z1, m1) * theZieglerFactor;
148 G4double nloss = StoppingPower(material, kineticEnergy, z1, m1)
156G4double G4hNuclearStoppingModel::StoppingPower(
163 if(0 == NumberOfElements)
return 0.0 ;
167 const G4double* theAtomicNumDensityVector =
174 for (
G4int iel=0; iel<NumberOfElements; iel++) {
175 const G4Element* element = (*theElementVector)[iel] ;
178 nloss += (nStopingPowerTable->
179 NuclearStoppingPower(kineticEnergy, z1, z2, m1, m2Local))
180 * theAtomicNumDensityVector[iel] ;
std::vector< G4Element * > G4ElementVector
G4DLLIMPORT std::ostream G4cout
G4double GetCharge() const
G4double GetKineticEnergy() const
const G4ElementVector * GetElementVector() const
size_t GetNumberOfElements() const
const G4double * GetAtomicNumDensityVector() const
G4double GetPDGMass() const
G4double GetPDGCharge() const
void SetNuclearStoppingFluctuationsOff()
~G4hNuclearStoppingModel()
G4hNuclearStoppingModel(const G4String &name)
G4double TheValue(const G4DynamicParticle *particle, const G4Material *material)