33#ifndef G4CrossSectionHP_h
34#define G4CrossSectionHP_h 1
92 void Initialise(
const G4int Z);
94 void InitialiseOnFly(
const G4int Z);
121 std::size_t index{0};
126 std::vector<std::pair<G4int, G4int> > fZA;
127 std::vector<G4double> fIsoXS;
128 std::vector<G4double> fTemp;
136G4CrossSectionHP::GetCrossSection(
const G4int Z,
const G4int A)
139 for (std::size_t i=0; i<fZA.size(); ++i) {
140 if (Z == fZA[i].first &&
A == fZA[i].second) {
148inline G4bool G4CrossSectionHP::CheckCache(
const G4int Z)
151 for (
auto const & p : fZA) {
167 if (n > 0) { binSearch = n; }
G4CrossSectionHP & operator=(const G4CrossSectionHP &right)=delete
G4double ComputeIsoCrossSection(G4double kinEnergy, G4double loge, const G4ParticleDefinition *, G4int Z, G4int A, const G4Isotope *iso, const G4Element *elm, const G4Material *mat) override
G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *, const G4Element *, const G4Material *) override
~G4CrossSectionHP() override=default
G4CrossSectionHP(const G4CrossSectionHP &)=delete
void BuildPhysicsTable(const G4ParticleDefinition &) override
G4CrossSectionHP(const G4ParticleDefinition *, const G4String &nameData, const G4String &nameDir, G4double emaxHP, G4int zmin, G4int zmax)
void SetBinSearch(G4int n)
void DumpPhysicsTable(const G4ParticleDefinition &) override
G4bool IsIsoApplicable(const G4DynamicParticle *, G4int Z, G4int A, const G4Element *, const G4Material *) override
const G4Isotope * SelectIsotope(const G4Element *, G4double kinEnergy, G4double logE) override
G4double GetMaxHPEnergy() const