27#ifndef G4ICRU90StoppingData_h
28#define G4ICRU90StoppingData_h 1
90 static constexpr G4int nvectors = 3;
94 G4bool isInitialized{
false};
101 return (mat == materials[1] || mat == materials[0] || mat == materials[2]);
109 if (mat == materials[1]) {
112 else if (mat == materials[0]) {
115 else if (mat == materials[2]) {
126 if (nam == materials[1]->GetName()) {
129 else if (nam == materials[0]->GetName()) {
132 else if (nam == materials[2]->GetName()) {
144 return (e >= emin) ? data->
Value(e) : (*data)[0] * std::sqrt(e / emin);
152 return (idx >= 0 && idx < nvectors) ? GetDEDX(sdata_proton[idx], kinEnergy) : 0.0;
160 return (idx >= 0 && idx < nvectors) ? GetDEDX(sdata_alpha[idx], scaledKinEnergy) : 0.0;
G4bool IsApplicable(const G4Material *) const
G4ICRU90StoppingData(const G4ICRU90StoppingData &)=delete
G4double GetElectronicDEDXforProton(const G4Material *, G4double kinEnergy) const
G4ICRU90StoppingData & operator=(const G4ICRU90StoppingData &right)=delete
G4int GetIndex(const G4Material *) const
G4double GetElectronicDEDXforAlpha(const G4Material *, G4double scaledKinEnergy) const
G4double Energy(const std::size_t index) const
G4double Value(const G4double energy, std::size_t &lastidx) const