Import Geant4 10.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2019-12-06 15:12:28 +01:00
parent b2a62ae692
commit 5baee230e9
2997 changed files with 141580 additions and 98673 deletions
+29 -15
View File
@@ -38,6 +38,7 @@
// 28-10-02: add setMeanExcitationEnergy (V.Ivanchenko)
// 27-09-07: add computation of parameters for ions (V.Ivanchenko)
// 04-03-08: add fBirks constant (mma)
// 16-01-19, add exact computation of the density effect (M. Strait)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
@@ -50,12 +51,13 @@
#include "G4Exp.hh"
#include "G4Threading.hh"
class G4Material; // forward declaration
class G4Material;
class G4DensityEffectData;
class G4DensityEffectCalculator;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
class G4IonisParamMat // with description
class G4IonisParamMat
{
public:
@@ -100,10 +102,18 @@ public:
// defined density correction parameterisation via base material
void SetDensityEffectParameters(const G4Material* bmat);
void ComputeDensityEffectOnFly(G4bool);
// compute density correction as a function of the kinematic variable
// x = log10(beta*gamma)
inline G4double DensityCorrection(G4double x);
G4double DensityCorrection(G4double x);
inline G4DensityEffectCalculator* GetDensityEffectCalculator()
{ return fDensityEffectCalc; }
// use parameterisation
inline G4double GetDensityCorrection(G4double x);
static G4DensityEffectData* GetDensityEffectData();
@@ -158,7 +168,7 @@ private:
void ComputeMeanParameters();
// Compute parameters for the density effect
void ComputeDensityEffect();
void ComputeDensityEffectParameters();
// Compute parameters for the energy fluctuation model
void ComputeFluctModel();
@@ -167,21 +177,23 @@ private:
void ComputeIonParameters();
// operators
G4IonisParamMat& operator=(const G4IonisParamMat&) = delete;
G4bool operator==(const G4IonisParamMat&) const = delete;
G4bool operator!=(const G4IonisParamMat&) const = delete;
G4IonisParamMat(const G4IonisParamMat&) = delete;
G4IonisParamMat& operator=(const G4IonisParamMat&);
G4bool operator==(const G4IonisParamMat&) const;
G4bool operator!=(const G4IonisParamMat&) const;
G4IonisParamMat(const G4IonisParamMat&);
//
// data members
//
const G4Material* fMaterial; // this material
const G4Material* fMaterial; // this material
G4DensityEffectCalculator* fDensityEffectCalc; // calculator of the density effect
G4double* fShellCorrectionVector; // shell correction coefficients
// parameters for mean energy loss calculation
G4double fMeanExcitationEnergy; //
G4double fLogMeanExcEnergy; //
G4double* fShellCorrectionVector; // shell correction coefficients
G4double fTaul; // lower limit of Bethe-Bloch formula
G4double fMeanExcitationEnergy; //
G4double fLogMeanExcEnergy; //
G4double fTaul; // lower limit of Bethe-Bloch formula
// parameters of the density correction
G4double fCdensity; // mat.constant
@@ -225,7 +237,7 @@ private:
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
inline G4double G4IonisParamMat::DensityCorrection(G4double x)
inline G4double G4IonisParamMat::GetDensityCorrection(G4double x)
{
// x = log10(beta*gamma)
G4double y = 0.0;
@@ -236,4 +248,6 @@ inline G4double G4IonisParamMat::DensityCorrection(G4double x)
return y;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
#endif