27#ifndef G4ICRU90StoppingData_h
28#define G4ICRU90StoppingData_h 1
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
154 return (idx < 0 || idx >=
nvectors) ? 0.0
G4bool IsApplicable(const G4Material *) const
G4ICRU90StoppingData(const G4ICRU90StoppingData &)=delete
G4double GetDEDX(G4PhysicsFreeVector *, G4double e) const
G4double GetElectronicDEDXforProton(const G4Material *, G4double kinEnergy) const
G4int GetIndex(const G4Material *) const
G4PhysicsFreeVector * sdata_proton[nvectors]
G4PhysicsFreeVector * AddData(G4int n, const G4double *e, const G4float *dedx)
static constexpr G4int nvectors
const G4Material * materials[nvectors]
G4double GetElectronicDEDXforAlpha(const G4Material *, G4double scaledKinEnergy) const
G4PhysicsFreeVector * sdata_alpha[nvectors]
G4double Energy(const std::size_t index) const
G4double Value(const G4double energy, std::size_t &lastidx) const