Import Geant4 11.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2024-12-06 11:11:40 +01:00
parent e58e650b32
commit 32390e802b
1984 changed files with 98713 additions and 83996 deletions
@@ -44,31 +44,36 @@ class G4PhotoNuclearCrossSection : public G4VCrossSectionDataSet
public:
G4PhotoNuclearCrossSection();
virtual ~G4PhotoNuclearCrossSection();
~G4PhotoNuclearCrossSection() override;
static const char* Default_Name() {return "PhotoNuclearXS";}
virtual void CrossSectionDescription(std::ostream&) const;
void CrossSectionDescription(std::ostream&) const override;
virtual G4bool
IsIsoApplicable(const G4DynamicParticle* particle, G4int Z, G4int A,
const G4Element* elm = 0, const G4Material* mat = 0);
G4bool IsIsoApplicable(const G4DynamicParticle*, G4int Z, G4int A,
const G4Element* elm = nullptr,
const G4Material* mat = nullptr) override;
virtual G4bool
IsElementApplicable(const G4DynamicParticle* particle, G4int Z,
const G4Material*);
G4bool IsElementApplicable(const G4DynamicParticle*, G4int Z,
const G4Material* mat = nullptr) override;
virtual G4double
GetIsoCrossSection(const G4DynamicParticle* dynPart,
G4int Z, G4int A,
const G4Isotope*,
const G4Element* elm,
const G4Material* mat);
virtual G4double
GetElementCrossSection(const G4DynamicParticle*, G4int Z,
const G4Material*);
G4double GetIsoCrossSection(const G4DynamicParticle*,
G4int Z, G4int A,
const G4Isotope* iso = nullptr,
const G4Element* elm = nullptr,
const G4Material* mat = nullptr) override;
G4double GetElementCrossSection(const G4DynamicParticle*, G4int Z,
const G4Material*) override;
G4double ComputeElementXSection(G4double energy, G4int Z);
G4double ComputeIsoXSection(G4double energy, G4int Z, G4int A);
G4PhotoNuclearCrossSection& operator=
(const G4PhotoNuclearCrossSection& right) = delete;
G4PhotoNuclearCrossSection(const G4PhotoNuclearCrossSection&) = delete;
private:
G4int GetFunctions(G4double a, G4double* y, G4double* z);
@@ -76,9 +81,6 @@ private:
const G4double XD, const G4double* Y);
G4double ThresholdEnergy(G4int Z, G4int N);
// Body
private:
G4int lastZ = 0; // The last Z of calculated nucleus
G4double lastSig = 0.0; // Last value of the Cross Section
G4double* lastGDR = nullptr; // Pointer to the last array of GDR cross sections