Import Geant4 11.2.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2023-06-30 09:09:57 +02:00
parent aef78ca386
commit dd1f179cda
3780 changed files with 212808 additions and 142780 deletions
@@ -112,6 +112,8 @@ protected:
const G4ParticleDefinition* fThePositron;
G4ParticleChangeForGamma* fParticleChange;
G4bool isFirstInstance{false};
static std::vector<ElementData*> gElementData;
};
@@ -56,14 +56,11 @@
#ifndef G4BraggIonModel_h
#define G4BraggIonModel_h 1
#include "G4VEmModel.hh"
#include "G4ASTARStopping.hh"
#include "G4BraggModel.hh"
class G4ParticleChangeForLoss;
class G4EmCorrections;
class G4ICRU90StoppingData;
class G4ASTARStopping;
class G4BraggIonModel : public G4VEmModel
class G4BraggIonModel : public G4BraggModel
{
public:
@@ -76,15 +73,6 @@ public:
void Initialise(const G4ParticleDefinition*,
const G4DataVector&) override;
G4double MinEnergyCut(const G4ParticleDefinition*,
const G4MaterialCutsCouple* couple) override;
G4double ComputeCrossSectionPerElectron(
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy,
G4double maxEnergy);
G4double ComputeCrossSectionPerAtom(
const G4ParticleDefinition*,
G4double kineticEnergy,
@@ -103,21 +91,11 @@ public:
G4double kineticEnergy,
G4double cutEnergy) override;
void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin,
G4double maxEnergy) override;
// Compute ion charge not applied to alpha
G4double GetChargeSquareRatio(const G4ParticleDefinition*,
const G4Material*,
G4double kineticEnergy) override;
G4double GetParticleCharge(const G4ParticleDefinition* p,
const G4Material* mat,
G4double kineticEnergy) override;
// add correction to energy loss and ompute non-ionizing energy loss
void CorrectionsAlongStep(const G4MaterialCutsCouple*,
const G4DynamicParticle*,
@@ -128,55 +106,28 @@ public:
G4BraggIonModel & operator=(const G4BraggIonModel &right) = delete;
G4BraggIonModel(const G4BraggIonModel&) = delete;
protected:
G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
G4double kinEnergy) final;
private:
void SetParticle(const G4ParticleDefinition* p);
G4double HeEffChargeSquare(const G4double z,
const G4double kinEnergyInMeV) const;
G4int HasMaterial(const G4Material* material) const;
G4int HasMaterialForHe(const G4Material* material) const;
G4double StoppingPower(const G4Material* material,
const G4double kinEnergy) const;
G4double HeStoppingPower(const G4double kinEnergy) const;
G4double ElectronicStoppingPower(const G4double z,
const G4double kinEnergy) const;
G4double HeElectronicStoppingPower(const G4int z, const G4double kinEnergy) const;
G4double DEDX(const G4Material* material, const G4double kinEnergy);
G4EmCorrections* corr = nullptr;
const G4ParticleDefinition* particle = nullptr;
const G4ParticleDefinition* theElectron;
G4ParticleChangeForLoss* fParticleChange = nullptr;
G4ICRU90StoppingData* fICRU90 = nullptr;
const G4Material* currentMaterial = nullptr;
const G4Material* baseMaterial = nullptr;
G4double HeDEDX(const G4Material* material, const G4double kinEnergy);
static G4ASTARStopping* fASTAR;
G4double mass = 0.0;
G4double spin = 0.0;
G4double chargeSquare = 1.0;
G4double heChargeSquare = 4.0;
G4double massRate = 1.0;
G4double ratio = 1.0;
G4double HeMass;
G4double massFactor;
G4double rateMassHe2p;
G4double theZieglerFactor;
G4double lowestKinEnergy;
G4int iMolecula = -1; // index in the molecula's table
G4int iASTAR = -1; // index in ASTAR
G4int iICRU90 = -1;
G4bool isAlpha = false;
G4int iASTAR = -1; // index in ASTAR
G4bool isAlpha = false;
G4bool isFirstAlpha = false;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -59,14 +59,13 @@
#ifndef G4BraggModel_h
#define G4BraggModel_h 1
#include <CLHEP/Units/PhysicalConstants.h>
#include "G4VEmModel.hh"
#include "G4PSTARStopping.hh"
class G4ParticleChangeForLoss;
class G4EmCorrections;
class G4ICRU90StoppingData;
class G4PSTARStopping;
class G4BraggModel : public G4VEmModel
{
@@ -128,17 +127,15 @@ public:
protected:
void SetParticle(const G4ParticleDefinition* p);
G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
G4double kinEnergy) final;
inline G4double GetChargeSquareRatio() const;
inline void SetChargeSquareRatio(G4double val);
private:
inline void SetParticle(const G4ParticleDefinition* p);
void HasMaterial(const G4Material* material);
G4double StoppingPower(const G4Material* material,
@@ -153,51 +150,40 @@ private:
G4double ChemicalFactor(G4double kineticEnergy, G4double eloss125) const;
G4EmCorrections* corr = nullptr;
const G4ParticleDefinition* particle = nullptr;
G4ParticleDefinition* theElectron = nullptr;
G4ParticleChangeForLoss* fParticleChange = nullptr;
G4ICRU90StoppingData* fICRU90 = nullptr;
protected:
const G4Material* currentMaterial = nullptr;
const G4Material* baseMaterial = nullptr;
const G4ParticleDefinition* particle = nullptr;
G4ParticleDefinition* theElectron = nullptr;
G4ParticleChangeForLoss* fParticleChange = nullptr;
static G4PSTARStopping* fPSTAR;
const G4Material* currentMaterial = nullptr;
const G4Material* baseMaterial = nullptr;
G4double mass;
G4double spin;
G4double chargeSquare;
G4double massRate;
G4double ratio;
G4EmCorrections* corr = nullptr;
static G4ICRU90StoppingData* fICRU90;
static G4PSTARStopping* fPSTAR;
G4double mass = 0.0;
G4double spin = 0.0;
G4double chargeSquare = 1.0;
G4double massRate = 1.0;
G4double ratio = 1.0;
G4double protonMassAMU = 1.007276;
G4double lowestKinEnergy;
G4double protonMassAMU;
G4double theZieglerFactor;
G4double expStopPower125; // Experimental Stopping power at 125keV
G4int iMolecula = -1; // index in the molecula's table
G4int iPSTAR = -1; // index in PSTAR
G4int iICRU90 = -1;
G4bool isIon = false;
G4int iMolecula = -1; // index in the molecula's table
G4int iPSTAR = -1; // index in NIST PSTAR
G4int iICRU90 = -1;
private:
G4bool isIon = false;
G4bool isFirst = false;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline void G4BraggModel::SetParticle(const G4ParticleDefinition* p)
{
particle = p;
mass = particle->GetPDGMass();
spin = particle->GetPDGSpin();
G4double q = particle->GetPDGCharge()/CLHEP::eplus;
chargeSquare = q*q;
massRate = mass/CLHEP::proton_mass_c2;
ratio = CLHEP::electron_mass_c2/mass;
}
inline G4double G4BraggModel::GetChargeSquareRatio() const
{
return chargeSquare;
}
inline void G4BraggModel::SetChargeSquareRatio(G4double val)
{
chargeSquare = val;
@@ -56,7 +56,13 @@ class G4CoulombScattering : public G4VEmProcess
public:
explicit G4CoulombScattering(const G4String& name = "CoulombScat");
explicit G4CoulombScattering(const G4String& name, G4bool combined);
// for pure single scattering use combined=false
G4CoulombScattering(G4bool combined = true);
// for pure single scattering use SetIsCombined(false) method
G4CoulombScattering(const G4String& name);
~G4CoulombScattering() override;
@@ -65,6 +71,8 @@ public:
// print documentation in html format
void ProcessDescription(std::ostream&) const override;
inline void SetIsCombined(G4bool val) { isCombined = val; }
G4CoulombScattering & operator=(const G4CoulombScattering &right) = delete;
G4CoulombScattering(const G4CoulombScattering&) = delete;
@@ -81,7 +89,8 @@ protected:
private:
G4double q2Max;
G4bool isInitialised;
G4bool isInitialised = false;
G4bool isCombined;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -82,7 +82,6 @@ private:
void AddData(const G4double* energy, const G4double* xs, G4int idx);
const char* dirPath = nullptr;
const G4Material* currentMaterial = nullptr;
G4int type = 0;
@@ -90,7 +90,9 @@ private:
G4double fEmax;
std::vector<G4int> fMatIndex;
// projectile Z <= 80, target element Z <= 92
// projectile (3<= Z <= 80), target element (1 <= Z <= 92)
const G4int ZPROJMAX = 80;
const G4int ZTARGMAX = 92;
std::vector<G4PhysicsLogVector*>* fMatData[81] = {nullptr};
G4PhysicsLogVector* fElmData[81][93] = {{nullptr}};
G4PhysicsFreeVector* fVector = nullptr;
@@ -55,7 +55,7 @@
class G4EmCorrections;
class G4ParticleChangeForLoss;
class G4LindhardSorensenData;
class G4BraggIonModel;
class G4BraggModel;
class G4BetheBlochModel;
class G4IonICRU73Data;
@@ -126,8 +126,6 @@ protected:
G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
G4double kinEnergy) override;
inline G4double GetChargeSquareRatio() const;
inline void SetChargeSquareRatio(G4double val);
private:
@@ -142,19 +140,18 @@ private:
inline void SetParticle(const G4ParticleDefinition* p);
static const G4int MAXZION = 93;
// static const G4int MAXZION = 93;
static G4IonICRU73Data* fIonData;
static G4LindhardSorensenData* lsdata;
static std::vector<G4float>* fact[MAXZION];
const G4ParticleDefinition* particle;
G4ParticleDefinition* theElectron;
G4EmCorrections* corr;
G4ParticleChangeForLoss* fParticleChange;
G4NistManager* nist;
G4BraggIonModel* fBraggModel;
G4BetheBlochModel* fBBModel;
const G4ParticleDefinition* particle = nullptr;
G4ParticleDefinition* theElectron;
G4EmCorrections* corr;
G4ParticleChangeForLoss* fParticleChange = nullptr;
G4NistManager* nist;
G4BraggModel* fBraggModel;
G4BetheBlochModel* fBBModel;
G4int Zin = 1;
G4double mass = 0.0;
@@ -168,6 +165,7 @@ private:
G4double formfact = 0.0;
G4double twoln10;
G4double fElimit;
G4bool isFirst = false;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -183,13 +181,6 @@ G4LindhardSorensenIonModel::SetParticle(const G4ParticleDefinition* p)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline G4double G4LindhardSorensenIonModel::GetChargeSquareRatio() const
{
return chargeSquare;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline void G4LindhardSorensenIonModel::SetChargeSquareRatio(G4double val)
{
chargeSquare = val;
@@ -119,15 +119,15 @@ public:
inline void SetVerboseLevel(G4int verbose);
// hide assignment operator
G4PAIModel & operator=(const G4PAIModel &right) = delete;
G4PAIModel(const G4PAIModel&) = delete;
protected:
G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
G4double kinEnergy) final;
// hide assignment operator
G4PAIModel & operator=(const G4PAIModel &right) = delete;
G4PAIModel(const G4PAIModel&) = delete;
private:
inline G4int FindCoupleIndex(const G4MaterialCutsCouple*);
@@ -55,7 +55,7 @@
#include "globals.hh"
#include "Randomize.hh"
#include"G4SandiaTable.hh"
#include "G4SandiaTable.hh"
class G4MaterialCutsCouple;
class G4Sandiatable;
@@ -68,8 +68,7 @@ public:
G4PAIxSection();
G4PAIxSection( G4MaterialCutsCouple* matCC);
G4PAIxSection( G4int materialIndex,
G4double maxEnergyTransfer );
G4PAIxSection( G4int materialIndex, G4double maxEnergyTransfer );
G4PAIxSection( G4int materialIndex, // for proton loss table
G4double maxEnergyTransfer,
@@ -100,10 +99,10 @@ public:
G4double RutherfordIntegral( G4int intervalNumber,
G4double limitLow,
G4double limitHigh );
G4double limitHigh );
G4double ImPartDielectricConst( G4int intervalNumber,
G4double energy );
G4double energy );
G4double GetPhotonRange( G4double energy );
G4double GetElectronRange( G4double energy );
@@ -111,18 +110,18 @@ public:
G4double RePartDielectricConst(G4double energy);
G4double DifPAIxSection( G4int intervalNumber,
G4double betaGammaSq );
G4double betaGammaSq );
G4double PAIdNdxCerenkov( G4int intervalNumber,
G4double betaGammaSq );
G4double betaGammaSq );
G4double PAIdNdxMM( G4int intervalNumber,
G4double betaGammaSq );
G4double betaGammaSq );
G4double PAIdNdxPlasmon( G4int intervalNumber,
G4double betaGammaSq );
G4double betaGammaSq );
G4double PAIdNdxResonance( G4int intervalNumber,
G4double betaGammaSq );
G4double betaGammaSq );
void IntegralPAIxSection();
@@ -218,23 +217,21 @@ private :
static const G4double fDelta; // energy shift from interval border = 0.001
static const G4double fError; // error in lin-log approximation = 0.005
static G4int fNumberOfGammas; // = 111;
static const G4double fLorentzFactor[112]; // static gamma array
static G4int fNumberOfGammas; // = 111;
static const G4double fLorentzFactor[112]; // static gamma array
static
const G4int fRefGammaNumber; //The number of gamma for creation of spline (15)
const G4int fRefGammaNumber; // The number of gamma for creation of spline (15)
G4int fIntervalNumber ; // The number of energy intervals
G4double fNormalizationCof; // Normalization cof for PhotoAbsorptionXsection
G4int fIntervalNumber ; // The number of energy intervals
G4double fNormalizationCof; // Normalization cof for PhotoAbsorptionXsection
// G4double fBetaGammaSq; // (beta*gamma)^2
G4int fMaterialIndex; // current material index
G4double fDensity; // Current density
G4double fElectronDensity; // Current electron (number) density
G4int fMaterialIndex; // current material index
G4double fDensity; // Current density
G4double fElectronDensity; // Current electron (number) density
G4double fLowEnergyCof; // Correction cof for low energy region
G4int fSplineNumber; // Current size of spline
G4int fVerbose; // verbose flag
G4int fSplineNumber; // Current size of spline
G4int fVerbose; // verbose flag
// Arrays of Sandia coefficients
@@ -251,22 +248,22 @@ private :
static
const G4int fMaxSplineSize ; // Max size of output splain arrays = 500
G4DataVector fSplineEnergy; // energy points of splain
G4DataVector fSplineEnergy; // energy points of splain
G4DataVector fRePartDielectricConst; // Real part of dielectric const
G4DataVector fImPartDielectricConst; // Imaginary part of dielectric const
G4DataVector fIntegralTerm; // Integral term in PAI cross section
G4DataVector fDifPAIxSection; // Differential PAI cross section
G4DataVector fdNdxCerenkov; // dNdx of Cerenkov collisions
G4DataVector fdNdxPlasmon; // dNdx of Plasmon collisions
G4DataVector fdNdxMM; // dNdx of MM-Cerenkov collisions
G4DataVector fdNdxResonance; // dNdx of Resonance collisions
G4DataVector fdNdxMM; // dNdx of MM-Cerenkov collisions
G4DataVector fdNdxResonance; // dNdx of Resonance collisions
G4DataVector fIntegralPAIxSection; // Integral PAI cross section ?
G4DataVector fIntegralPAIdEdx; // Integral PAI dEdx ?
G4DataVector fIntegralCerenkov; // Integral Cerenkov N>omega ?
G4DataVector fIntegralPlasmon; // Integral Plasmon N>omega ?
G4DataVector fIntegralMM; // Integral MM N>omega ?
G4DataVector fIntegralResonance; // Integral resonance N>omega ?
G4DataVector fIntegralMM; // Integral MM N>omega ?
G4DataVector fIntegralResonance; // Integral resonance N>omega ?
G4double fPAItable[500][112]; // Output array
@@ -166,6 +166,7 @@ protected:
static std::vector<ElementData*> gElementData;
static LPMFuncs gLPMFuncs;
//
G4bool isFirstInstance{false};
G4bool fIsUseLPMCorrection;
G4bool fIsUseCompleteScreening;
//
@@ -101,8 +101,6 @@ private:
void ReadData(G4int Z);
const G4String& FindDirectoryPath();
G4double SampleEnergyTransfer(const G4double kineticEnergy,
const G4double logKineticEnergy,
const G4double cut,
@@ -113,7 +111,6 @@ private:
static G4double gYLimitData[gMaxZet];
static G4Physics2DVector* gSBDCSData[gMaxZet];
static G4SBBremTable* gSBSamplingTable;
static G4String gDataDirectory;
G4bool fIsUseBicubicInterpolation;
G4bool fIsUseSamplingTables;
@@ -122,6 +119,7 @@ private:
size_t fIndx;
size_t fIndy;
G4bool isFirstInstance{false};
};
#endif
@@ -100,6 +100,10 @@ public:
G4double ComputeTheta0(G4double truePathLength, G4double KineticEnergy);
inline void SetDisplacementAlgorithm96(const G4bool val);
inline void SetPositronCorrection(const G4bool val);
// hide assignment operator
G4UrbanMscModel & operator=(const G4UrbanMscModel &right) = delete;
G4UrbanMscModel(const G4UrbanMscModel&) = delete;
@@ -124,12 +128,12 @@ private:
inline G4double ComputeTlimitmin();
CLHEP::HepRandomEngine* rndmEngineMod;
CLHEP::HepRandomEngine* rndmEngineMod;
const G4ParticleDefinition* particle;
const G4ParticleDefinition* particle = nullptr;
const G4ParticleDefinition* positron;
G4ParticleChangeForMSC* fParticleChange;
const G4MaterialCutsCouple* couple;
G4ParticleChangeForMSC* fParticleChange = nullptr;
const G4MaterialCutsCouple* couple = nullptr;
G4double mass;
G4double charge,chargeSquare;
@@ -185,13 +189,13 @@ private:
static std::vector<mscData*> msc;
// index of G4MaterialCutsCouple
G4int idx;
G4int idx = 0;
G4bool firstStep;
G4bool insideskin;
G4bool firstStep = true;
G4bool insideskin = false;
G4bool latDisplasmentbackup;
G4bool dispAlg96;
G4bool latDisplasmentbackup = false;
G4bool dispAlg96 = true;
G4bool fPosiCorrection = true;
G4bool isFirstInstance = false;
};
@@ -238,6 +242,8 @@ inline G4double G4UrbanMscModel::SimpleScattering()
-1.+2.*G4Exp(G4Log(rndmarray[0])/(a+1.)) : -1.+2.*rndmarray[0];
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline G4double G4UrbanMscModel::ComputeStepmin()
{
// define stepmin using estimation of the ratio
@@ -246,6 +252,8 @@ inline G4double G4UrbanMscModel::ComputeStepmin()
return lambda0*1.e-3/(2.e-3+rat*(msc[idx]->stepmina+msc[idx]->stepminb*rat));
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline G4double G4UrbanMscModel::ComputeTlimitmin()
{
G4double x = (particle == positron) ?
@@ -256,5 +264,19 @@ inline G4double G4UrbanMscModel::ComputeTlimitmin()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline void G4UrbanMscModel::SetDisplacementAlgorithm96(const G4bool val)
{
dispAlg96 = val;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline void G4UrbanMscModel::SetPositronCorrection(const G4bool val)
{
fPosiCorrection = val;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -57,26 +57,26 @@ class G4WaterStopping
{
public:
explicit G4WaterStopping(G4EmCorrections* corr = nullptr, G4bool splineFlag = true);
explicit G4WaterStopping();
~G4WaterStopping();
~G4WaterStopping() = default;
G4double GetElectronicDEDX(G4int Z, G4double energy);
private:
void Initialise(G4EmCorrections*);
void AddData(const G4double* energy, const G4double* stoppower,
G4double factor);
// hide assignment operator
G4WaterStopping & operator=(const G4WaterStopping &right) = delete;
G4WaterStopping(const G4WaterStopping&) = delete;
G4bool spline;
private:
void Initialise();
void AddData(const G4double* energy, const G4double* stoppower,
G4double factor);
G4bool spline = true;
G4double emin;
std::vector<G4PhysicsFreeVector*> dedx;
std::vector<G4PhysicsFreeVector*> dedx;
};
#endif
@@ -143,6 +143,8 @@ private:
private:
G4bool fIsUseCompleteScreening = false;
G4bool fIsFirstInstance = false;
G4bool fUseLPM = true;
protected:
@@ -130,28 +130,28 @@ protected:
private:
G4IonTable* theIonTable;
G4ParticleChangeForGamma* fParticleChange;
G4IonTable* theIonTable;
G4ParticleChangeForGamma* fParticleChange = nullptr;
G4WentzelOKandVIxSection* wokvi;
G4NistManager* fNistManager;
G4NistManager* fNistManager;
const std::vector<G4double>* pCuts;
const std::vector<G4double>* pCuts = nullptr;
const G4ParticleDefinition* particle;
const G4ParticleDefinition* particle = nullptr;
const G4ParticleDefinition* theProton;
const G4MaterialCutsCouple* currentCouple;
const G4Material* currentMaterial;
G4int currentMaterialIndex;
const G4MaterialCutsCouple* currentCouple = nullptr;
const G4Material* currentMaterial = nullptr;
G4int currentMaterialIndex = 0;
G4double cosThetaMin;
G4double cosThetaMax;
G4double recoilThreshold;
G4double elecRatio;
G4double mass;
G4double fixedCut;
G4double cosThetaMin = 1.0;
G4double cosThetaMax = -1.0;
G4double recoilThreshold = 0.0;
G4double elecRatio = 0.0;
G4double fixedCut = -1.0;
G4double mass;
G4bool isCombined;
G4bool isCombined;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -88,7 +88,7 @@ public:
explicit G4hIonisation(const G4String& name = "hIoni");
~G4hIonisation() override;
~G4hIonisation() override = default;
G4bool IsApplicable(const G4ParticleDefinition& p) override;
@@ -96,7 +96,7 @@ public:
const G4Material*, G4double cut) final;
// print documentation in html format
virtual void ProcessDescription(std::ostream&) const override;
void ProcessDescription(std::ostream&) const override;
// hide assignment operator
G4hIonisation & operator=(const G4hIonisation &right) = delete;
@@ -109,11 +109,10 @@ protected:
private:
G4bool isInitialised;
G4double mass;
G4double ratio;
G4double eth;
G4bool isInitialised = false;
G4double mass = 0.0;
G4double ratio = 0.0;
G4double eth;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -72,7 +72,6 @@
#include "G4VEnergyLossProcess.hh"
class G4Material;
class G4EmCorrections;
class G4ionIonisation : public G4VEnergyLossProcess
{
@@ -80,7 +79,7 @@ public:
explicit G4ionIonisation(const G4String& name = "ionIoni");
~G4ionIonisation() override;
~G4ionIonisation() override = default;
G4bool IsApplicable(const G4ParticleDefinition& p) final;
@@ -98,9 +97,6 @@ public:
protected:
// Print out of the class parameters
void StreamProcessInfo(std::ostream& outFile) const override;
void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
const G4ParticleDefinition*) override;
@@ -111,24 +107,13 @@ protected:
private:
G4EmCorrections* corr;
const G4ParticleDefinition* theParticle;
const G4ParticleDefinition* theParticle = nullptr;
G4double eth;
G4double eth;
G4bool isInitialised;
G4bool stopDataActive;
G4bool isInitialised = false;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline void G4ionIonisation::ActivateStoppingData(G4bool val)
{
stopDataActive = val;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline G4double G4ionIonisation::BetheBlochEnergyThreshold()