40#ifndef HadronXSDataTable_h
41#define HadronXSDataTable_h 1
72 const G4Element* element = (*theElementVector)[nElmMinusOne];
73 if (nElmMinusOne > 0) {
75 for(
G4int i=0; i<nElmMinusOne; ++i) {
76 if (x <= xSections[i]->Value(e)) {
77 element = (*theElementVector)[i];
92 std::vector<G4PhysicsVector*> xSections;
115 return xsData[idx]->Value(e);
120 return elmSelectors[idx]->SelectRandomAtom(e);
132 std::vector<G4PhysicsVector*> xsData;
133 std::vector<G4HadElementSelector*> elmSelectors;
std::vector< const G4Element * > G4ElementVector
G4HadElementSelector(G4DynamicParticle *, G4CrossSectionDataStore *, const G4Material *, G4int bins, G4double emin, G4double emax, G4bool spline)
const G4Element * SelectRandomAtom(G4double e) const
void Initialise(G4DynamicParticle *, G4CrossSectionDataStore *, G4int bins, G4double emin, G4double emax, G4bool spline)
G4double GetCrossSection(G4double e, size_t idx) const
const G4PhysicsVector * HasData(size_t idx) const
const G4Element * SelectRandomAtom(G4double e, size_t idx) const