Import Geant4 11.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2023-12-08 10:43:34 +01:00
parent dd1f179cda
commit 860a2b92bf
3962 changed files with 139318 additions and 164259 deletions
@@ -55,22 +55,25 @@ public:
void Initialise(const G4ParticleDefinition*, const G4DataVector&) override;
G4double CrossSectionPerVolume(const G4Material*, const G4ParticleDefinition*, G4double energy,
G4double cutEnergy = 0.0, G4double maxEnergy = DBL_MAX) override;
G4double CrossSectionPerVolume(const G4Material*, const G4ParticleDefinition*,
G4double energy, G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX) override;
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, G4double energy, G4double Z,
G4double A = 0, G4double cut = 0,
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*, G4double energy,
G4double Z, G4double A = 0, G4double cut = 0,
G4double emax = DBL_MAX) override;
void SampleSecondaries(std::vector<G4DynamicParticle*>*, const G4MaterialCutsCouple*,
const G4DynamicParticle*, G4double tmin, G4double maxEnergy) override;
void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*, const G4DynamicParticle*,
G4double tmin, G4double maxEnergy) override;
void InitialiseForElement(const G4ParticleDefinition*, G4int Z) override;
[[maybe_unused]] inline void SetLimitNumberOfShells(G4int);
[[maybe_unused]] inline void SetLimitNumberOfShells(G4int n) { nShellLimit = n; };
G4double GetBindingEnergy(G4int Z, G4int shell);
G4LivermorePhotoElectricModel& operator=(const G4LivermorePhotoElectricModel& right) = delete;
G4LivermorePhotoElectricModel& operator=
(const G4LivermorePhotoElectricModel& right) = delete;
G4LivermorePhotoElectricModel(const G4LivermorePhotoElectricModel&) = delete;
protected:
@@ -78,38 +81,35 @@ protected:
private:
void ReadData(const G4int Z);
const G4String& FindDirectoryPath();
void InitialiseOnFly(G4int Z);
const G4ParticleDefinition* theGamma;
const G4ParticleDefinition* theElectron;
G4VAtomDeexcitation* fAtomDeexcitation{nullptr};
static G4PhysicsFreeVector* fCrossSection[101]; // 101 because Z range is 1-100
static G4PhysicsFreeVector* fCrossSectionLE[101];
static std::vector<G4double>* fParamHigh[101];
static std::vector<G4double>* fParamLow[101];
static G4int fNShells[101];
static G4int fNShellsUsed[101];
static G4ElementData* fShellCrossSection;
static constexpr G4int ZMAXPE{101}; // 101 because Z range is 1-100
static G4ElementData* fCrossSection;
static G4ElementData* fCrossSectionLE;
static std::vector<G4double>* fParamHigh[ZMAXPE];
static std::vector<G4double>* fParamLow[ZMAXPE];
static G4int fNShells[ZMAXPE];
static G4int fNShellsUsed[ZMAXPE];
static G4Material* fWater;
static G4double fWaterEnergyLimit;
static G4String fDataDirectory;
G4VAtomDeexcitation* fAtomDeexcitation = nullptr;
std::vector<G4double> fSandiaCof;
G4double fCurrSection = 0.0;
G4double fCurrSection{0.0};
G4int verboseLevel;
G4int maxZ = 100;
G4int nShellLimit = 100;
G4bool fDeexcitationActive = false;
G4bool isInitialised = false;
G4int nShellLimit{100};
G4bool fDeexcitationActive{false};
G4bool isInitializer{false};
};
[[maybe_unused]] inline void G4LivermorePhotoElectricModel::SetLimitNumberOfShells(G4int n)
{
nShellLimit = n;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#endif