33#ifndef G4CrossSectionHP_h
34#define G4CrossSectionHP_h 1
92 void Initialise(
const G4int Z);
119 std::size_t index{0};
123 const G4Material* fCurrentMat{
nullptr};
124 std::vector<std::pair<G4int, G4int> > fZA;
125 std::vector<G4double> fIsoXS;
126 std::vector<G4double> fTemp;
128 const G4String fDataName;
129 const G4String fDataDirectory;
130 G4ElementData* fData{
nullptr};
134G4CrossSectionHP::GetCrossSection(
const G4int Z,
const G4int A)
137 for (std::size_t i=0; i<fZA.size(); ++i) {
138 if (Z == fZA[i].first &&
A == fZA[i].second) {
146inline G4bool G4CrossSectionHP::CheckCache(
const G4int Z)
149 for (
auto const & p : fZA) {
165 if (n > 0) { binSearch = n; }
CLHEP::HepLorentzVector G4LorentzVector
CLHEP::Hep3Vector G4ThreeVector
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
G4VCrossSectionDataSet(const G4String &nam="")