Import Geant4 10.6.0 source tree
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user