27#ifndef G4ICRU90StoppingData_h
28#define G4ICRU90StoppingData_h 1
97 static constexpr G4int nvectors = 3;
108 return (mat == materials[0] || mat == materials[1] || mat == materials[2]);
114 if (mat == materials[0]) { idx = 0; }
115 else if(mat == materials[1]) { idx = 1; }
116 else if(mat == materials[2]) { idx = 2; }
125 if (nam == materials[0]->GetName()) { idx = 0; }
126 else if(nam == materials[1]->GetName()) { idx = 1; }
127 else if(nam == materials[2]->GetName()) { idx = 2; }
137 return (e <= emin) ? (*data)[0]*std::sqrt(e/emin) : data->Value(e);
145 return (idx < 0 || idx >= nvectors) ? 0.0
146 : GetDEDX(sdata_proton[idx], kinEnergy);
154 return (idx < 0 || idx >= nvectors) ? 0.0
155 : GetDEDX(sdata_alpha[idx], scaledKinEnergy);
G4bool IsApplicable(const G4Material *) const
G4double GetElectronicDEDXforProton(const G4Material *, G4double kinEnergy) const
G4int GetIndex(const G4Material *) const
G4double GetElectronicDEDXforAlpha(const G4Material *, G4double scaledKinEnergy) const
G4double Energy(std::size_t index) const