Import Geant4 10.3.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2016-06-30 14:12:05 +02:00
parent a654a7ab1f
commit 4ec577e5c4
2021 changed files with 100995 additions and 78277 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4AnnihiToMuPair.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4AnnihiToMuPair.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// ------------ G4AnnihiToMuPair physics process ------
// by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002
@@ -58,15 +58,15 @@ class G4AnnihiToMuPair : public G4VDiscreteProcess
{
public: // with description
G4AnnihiToMuPair(const G4String& processName ="AnnihiToMuPair",
explicit G4AnnihiToMuPair(const G4String& processName ="AnnihiToMuPair",
G4ProcessType type = fElectromagnetic);
~G4AnnihiToMuPair();
G4bool IsApplicable(const G4ParticleDefinition&);
G4bool IsApplicable(const G4ParticleDefinition&) override;
// true for positron only.
void BuildPhysicsTable(const G4ParticleDefinition&);
void BuildPhysicsTable(const G4ParticleDefinition&) override;
// here dummy, just calling PrintInfoDefinition
// the total cross section is calculated analytically
@@ -91,7 +91,7 @@ class G4AnnihiToMuPair : public G4VDiscreteProcess
G4double GetMeanFreePath(const G4Track& aTrack,
G4double previousStepSize,
G4ForceCondition* );
G4ForceCondition* ) override;
// It returns the MeanFreePath of the process for the current track :
// (energy, material)
// The previousStepSize and G4ForceCondition* are not used.
@@ -99,7 +99,7 @@ class G4AnnihiToMuPair : public G4VDiscreteProcess
// It is invoked by the ProcessManager of the Particle.
G4VParticleChange* PostStepDoIt(const G4Track& aTrack,
const G4Step& aStep);
const G4Step& aStep) override;
// It computes the final state of the process (at end of step),
// returned as a ParticleChange object.
// This function overloads a virtual function of the base class.
@@ -108,8 +108,8 @@ class G4AnnihiToMuPair : public G4VDiscreteProcess
private:
// hide assignment operator as private
G4AnnihiToMuPair& operator=(const G4AnnihiToMuPair &right);
G4AnnihiToMuPair(const G4AnnihiToMuPair& );
G4AnnihiToMuPair& operator=(const G4AnnihiToMuPair &right) = delete;
G4AnnihiToMuPair(const G4AnnihiToMuPair& ) = delete;
G4double LowestEnergyLimit; // Energy threshold of e+
G4double HighestEnergyLimit; // Limit of validity of the model
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4BetheBlochNoDeltaModel.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4BetheBlochNoDeltaModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -56,7 +56,7 @@ class G4BetheBlochNoDeltaModel : public G4BetheBlochModel
public:
G4BetheBlochNoDeltaModel(const G4ParticleDefinition* p = 0,
explicit G4BetheBlochNoDeltaModel(const G4ParticleDefinition* p = nullptr,
const G4String& nam = "BetheBlochNoD");
virtual ~G4BetheBlochNoDeltaModel();
@@ -64,19 +64,20 @@ public:
virtual G4double ComputeDEDXPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy);
G4double cutEnergy) override;
virtual G4double CrossSectionPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy,
G4double maxEnergy);
G4double maxEnergy) override;
private:
// hide assignment operator
G4BetheBlochNoDeltaModel & operator=(const G4BetheBlochNoDeltaModel &right);
G4BetheBlochNoDeltaModel(const G4BetheBlochNoDeltaModel&);
G4BetheBlochNoDeltaModel &
operator=(const G4BetheBlochNoDeltaModel &right) = delete;
G4BetheBlochNoDeltaModel(const G4BetheBlochNoDeltaModel&) = delete;
};
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4BraggNoDeltaModel.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4BraggNoDeltaModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -56,7 +56,7 @@ class G4BraggNoDeltaModel : public G4BraggIonModel
public:
G4BraggNoDeltaModel(const G4ParticleDefinition* p = 0,
explicit G4BraggNoDeltaModel(const G4ParticleDefinition* p = nullptr,
const G4String& nam = "BraggNoD");
virtual ~G4BraggNoDeltaModel();
@@ -64,18 +64,18 @@ public:
virtual G4double ComputeDEDXPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy);
G4double cutEnergy) override;
virtual G4double CrossSectionPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy,
G4double maxEnergy);
G4double maxEnergy) override;
private:
// hide assignment operator
G4BraggNoDeltaModel & operator=(const G4BraggNoDeltaModel &right);
G4BraggNoDeltaModel(const G4BraggNoDeltaModel&);
G4BraggNoDeltaModel & operator=(const G4BraggNoDeltaModel &right) = delete;
G4BraggNoDeltaModel(const G4BraggNoDeltaModel&) = delete;
};
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4GammaConversionToMuons.hh 83660 2014-09-08 09:57:12Z gcosmo $
// $Id: G4GammaConversionToMuons.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// ------------ G4GammaConversionToMuons physics process ------
// by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002
@@ -63,15 +63,16 @@ class G4GammaConversionToMuons : public G4VDiscreteProcess
{
public: // with description
G4GammaConversionToMuons(const G4String& processName ="GammaToMuPair",
G4ProcessType type = fElectromagnetic);
explicit G4GammaConversionToMuons(
const G4String& processName ="GammaToMuPair",
G4ProcessType type = fElectromagnetic);
~G4GammaConversionToMuons();
G4bool IsApplicable(const G4ParticleDefinition&);
G4bool IsApplicable(const G4ParticleDefinition&) override;
// true for Gamma only.
void BuildPhysicsTable(const G4ParticleDefinition&);
void BuildPhysicsTable(const G4ParticleDefinition&) override;
// here dummy, the total cross section parametrization is used rather
// than tables, just calling PrintInfoDefinition
@@ -88,7 +89,7 @@ class G4GammaConversionToMuons : public G4VDiscreteProcess
G4double GetMeanFreePath(const G4Track& aTrack,
G4double previousStepSize,
G4ForceCondition* condition);
G4ForceCondition* condition) override;
// It returns the MeanFreePath of the process for the current track :
// (energy, material)
// The previousStepSize and G4ForceCondition* are not used.
@@ -96,12 +97,12 @@ class G4GammaConversionToMuons : public G4VDiscreteProcess
// It is invoked by the ProcessManager of the Particle.
G4double GetCrossSectionPerAtom(const G4DynamicParticle* aDynamicGamma,
G4Element* anElement);
G4Element* anElement);
// It returns the total CrossSectionPerAtom of the process,
// for the current DynamicGamma (energy), in anElement.
G4VParticleChange* PostStepDoIt(const G4Track& aTrack,
const G4Step& aStep);
const G4Step& aStep) override;
// It computes the final state of the process (at end of step),
// returned as a ParticleChange object.
// This function overloads a virtual function of the base class.
@@ -109,7 +110,7 @@ class G4GammaConversionToMuons : public G4VDiscreteProcess
virtual
G4double ComputeCrossSectionPerAtom(G4double GammaEnergy,
G4double AtomicZ,G4double AtomicA);
G4double AtomicZ,G4double AtomicA);
G4double ComputeMeanFreePath (G4double GammaEnergy,
G4Material* aMaterial);
@@ -122,8 +123,9 @@ class G4GammaConversionToMuons : public G4VDiscreteProcess
private:
// hide assignment operator as private
G4GammaConversionToMuons& operator=(const G4GammaConversionToMuons &right);
G4GammaConversionToMuons(const G4GammaConversionToMuons& );
G4GammaConversionToMuons&
operator=(const G4GammaConversionToMuons &right) = delete;
G4GammaConversionToMuons(const G4GammaConversionToMuons& ) = delete;
private:
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4ICRU73NoDeltaModel.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4ICRU73NoDeltaModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -56,7 +56,7 @@ class G4ICRU73NoDeltaModel : public G4ICRU73QOModel
public:
G4ICRU73NoDeltaModel(const G4ParticleDefinition* p = 0,
explicit G4ICRU73NoDeltaModel(const G4ParticleDefinition* p = nullptr,
const G4String& nam = "ICRU73QONoD");
virtual ~G4ICRU73NoDeltaModel();
@@ -64,18 +64,19 @@ public:
virtual G4double ComputeDEDXPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy);
G4double cutEnergy) override;
virtual G4double CrossSectionPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy,
G4double maxEnergy);
G4double maxEnergy) override;
private:
// hide assignment operator
G4ICRU73NoDeltaModel & operator=(const G4ICRU73NoDeltaModel &right);
G4ICRU73NoDeltaModel(const G4ICRU73NoDeltaModel&);
G4ICRU73NoDeltaModel &
operator=(const G4ICRU73NoDeltaModel &right) = delete;
G4ICRU73NoDeltaModel(const G4ICRU73NoDeltaModel&) = delete;
};
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4Vee2hadrons.hh 83000 2014-07-24 10:27:23Z gcosmo $
// $Id: G4Vee2hadrons.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -65,7 +65,7 @@ class G4Vee2hadrons
public:
G4Vee2hadrons(G4eeCrossSections* cr,
explicit G4Vee2hadrons(G4eeCrossSections* cr,
G4double vlowEnergy,
G4double vhighEnergy,
G4double vdelta) : cross(cr)
@@ -98,8 +98,8 @@ public:
private:
// hide assignment operator
G4Vee2hadrons & operator=(const G4Vee2hadrons &right);
G4Vee2hadrons(const G4Vee2hadrons&);
G4Vee2hadrons & operator=(const G4Vee2hadrons &right) = delete;
G4Vee2hadrons(const G4Vee2hadrons&) = delete;
// parameters of the table
G4double lowEnergy;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4ee2KChargedModel.hh 82961 2014-07-21 09:20:49Z gcosmo $
// $Id: G4ee2KChargedModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -61,16 +61,16 @@ class G4ee2KChargedModel : public G4Vee2hadrons
public:
G4ee2KChargedModel(G4eeCrossSections*,G4double,G4double);
explicit G4ee2KChargedModel(G4eeCrossSections*,G4double,G4double);
virtual ~G4ee2KChargedModel();
virtual G4double PeakEnergy() const;
virtual G4double PeakEnergy() const override;
virtual G4double ComputeCrossSection(G4double) const;
virtual G4double ComputeCrossSection(G4double) const override;
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
G4double, const G4ThreeVector&);
G4double, const G4ThreeVector&) override;
private:
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4ee2KNeutralModel.hh 82961 2014-07-21 09:20:49Z gcosmo $
// $Id: G4ee2KNeutralModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -61,22 +61,22 @@ class G4ee2KNeutralModel : public G4Vee2hadrons
public:
G4ee2KNeutralModel(G4eeCrossSections*,G4double,G4double);
explicit G4ee2KNeutralModel(G4eeCrossSections*,G4double,G4double);
virtual ~G4ee2KNeutralModel();
virtual G4double PeakEnergy() const;
virtual G4double PeakEnergy() const override;
virtual G4double ComputeCrossSection(G4double) const;
virtual G4double ComputeCrossSection(G4double) const override;
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
G4double, const G4ThreeVector&);
G4double, const G4ThreeVector&) override;
private:
// hide assignment operator
G4ee2KNeutralModel & operator=(const G4ee2KNeutralModel &right);
G4ee2KNeutralModel(const G4ee2KNeutralModel&);
G4ee2KNeutralModel & operator=(const G4ee2KNeutralModel &right) = delete;
G4ee2KNeutralModel(const G4ee2KNeutralModel&) = delete;
G4double massK;
G4double massPhi;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeCrossSections.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4eeCrossSections.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -104,8 +104,8 @@ private:
std::complex<G4double> DpPhi(G4double e);
// hide assignment operator
G4eeCrossSections & operator=(const G4eeCrossSections &right);
G4eeCrossSections(const G4eeCrossSections&);
G4eeCrossSections & operator=(const G4eeCrossSections &right) = delete;
G4eeCrossSections(const G4eeCrossSections&) = delete;
G4double MsPi, MsPi0, MsEta, MsEtap, MsKs, MsKc, MsRho, MsOm;
G4double MsF0, MsA0, MsPhi, MsK892, MsK0892;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeTo3PiModel.hh 82961 2014-07-21 09:20:49Z gcosmo $
// $Id: G4eeTo3PiModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -61,22 +61,22 @@ class G4eeTo3PiModel : public G4Vee2hadrons
public:
G4eeTo3PiModel(G4eeCrossSections*,G4double,G4double);
explicit G4eeTo3PiModel(G4eeCrossSections*,G4double,G4double);
virtual ~G4eeTo3PiModel();
virtual G4double PeakEnergy() const;
virtual G4double PeakEnergy() const override;
virtual G4double ComputeCrossSection(G4double) const;
virtual G4double ComputeCrossSection(G4double) const override;
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
G4double, const G4ThreeVector&);
G4double, const G4ThreeVector&) override;
private:
// hide assignment operator
G4eeTo3PiModel & operator=(const G4eeTo3PiModel &right);
G4eeTo3PiModel(const G4eeTo3PiModel&);
G4eeTo3PiModel & operator=(const G4eeTo3PiModel &right) = delete;
G4eeTo3PiModel(const G4eeTo3PiModel&) = delete;
G4double massPi;
G4double massPi0;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadrons.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4eeToHadrons.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -61,29 +61,29 @@ class G4eeToHadrons : public G4VEmProcess
public:
G4eeToHadrons(const G4String& name = "ee2hadr");
explicit G4eeToHadrons(const G4String& name = "ee2hadr");
virtual ~G4eeToHadrons();
virtual G4bool IsApplicable(const G4ParticleDefinition& p);
virtual G4bool IsApplicable(const G4ParticleDefinition& p) override;
// Print out of the class parameters
virtual void PrintInfo();
virtual void PrintInfo() override;
// Set the factor to artificially increase the crossSection (default 1)
void SetCrossSecFactor(G4double fac);
protected:
virtual void InitialiseProcess(const G4ParticleDefinition*);
virtual void InitialiseProcess(const G4ParticleDefinition*) override;
private:
std::vector<G4DynamicParticle*>* GenerateSecondaries(const G4DynamicParticle*);
// hide assignment operator
G4eeToHadrons & operator=(const G4eeToHadrons &right);
G4eeToHadrons(const G4eeToHadrons&);
G4eeToHadrons & operator=(const G4eeToHadrons &right) = delete;
G4eeToHadrons(const G4eeToHadrons&) = delete;
G4eeToHadronsMultiModel* multimodel;
G4double csFactor;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadronsModel.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4eeToHadronsModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -61,37 +61,38 @@ class G4eeToHadronsModel : public G4VEmModel
public:
G4eeToHadronsModel(G4Vee2hadrons*, G4int ver=0,
explicit G4eeToHadronsModel(G4Vee2hadrons*, G4int ver=0,
const G4String& nam = "eeToHadrons");
virtual ~G4eeToHadronsModel();
virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
virtual void Initialise(const G4ParticleDefinition*,
const G4DataVector&) override;
virtual G4double CrossSectionPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy,
G4double maxEnergy);
G4double maxEnergy) override;
virtual G4double ComputeCrossSectionPerAtom(
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double Z, G4double A,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX);
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double Z, G4double A,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX) override;
virtual G4double ComputeCrossSectionPerElectron(
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX);
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX);
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin = 0.0,
G4double maxEnergy = DBL_MAX);
G4double maxEnergy = DBL_MAX) override;
G4DynamicParticle* GenerateCMPhoton(G4double);
@@ -102,8 +103,8 @@ private:
void ComputeCMCrossSectionPerElectron();
// hide assignment operator
G4eeToHadronsModel & operator=(const G4eeToHadronsModel &right);
G4eeToHadronsModel(const G4eeToHadronsModel&);
G4eeToHadronsModel & operator=(const G4eeToHadronsModel &right) = delete;
G4eeToHadronsModel(const G4eeToHadronsModel&) = delete;
G4Vee2hadrons* model;
G4ParticleDefinition* theGamma;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadronsMultiModel.hh 82961 2014-07-21 09:20:49Z gcosmo $
// $Id: G4eeToHadronsMultiModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -66,30 +66,32 @@ class G4eeToHadronsMultiModel : public G4VEmModel
public:
G4eeToHadronsMultiModel(G4int ver=0, const G4String& nam = "eeToHadrons");
explicit G4eeToHadronsMultiModel(G4int ver=0,
const G4String& nam = "eeToHadrons");
virtual ~G4eeToHadronsMultiModel();
virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
virtual void Initialise(const G4ParticleDefinition*,
const G4DataVector&) override;
virtual G4double CrossSectionPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy,
G4double maxEnergy);
G4double maxEnergy) override;
virtual G4double ComputeCrossSectionPerAtom(
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double Z, G4double A,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX);
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double Z, G4double A,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX) override;
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin = 0.0,
G4double maxEnergy = DBL_MAX);
G4double maxEnergy = DBL_MAX) override;
virtual void PrintInfo();
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToPGammaModel.hh 82961 2014-07-21 09:20:49Z gcosmo $
// $Id: G4eeToPGammaModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -62,22 +62,23 @@ class G4eeToPGammaModel : public G4Vee2hadrons
public:
G4eeToPGammaModel(G4eeCrossSections*, const G4String&,G4double,G4double);
explicit G4eeToPGammaModel(G4eeCrossSections*, const G4String&,
G4double,G4double);
virtual ~G4eeToPGammaModel();
virtual G4double PeakEnergy() const;
virtual G4double PeakEnergy() const override;
virtual G4double ComputeCrossSection(G4double) const;
virtual G4double ComputeCrossSection(G4double) const override;
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
G4double, const G4ThreeVector&);
G4double, const G4ThreeVector&) override;
private:
// hide assignment operator
G4eeToPGammaModel & operator=(const G4eeToPGammaModel &right);
G4eeToPGammaModel(const G4eeToPGammaModel&);
G4eeToPGammaModel & operator=(const G4eeToPGammaModel &right) = delete;
G4eeToPGammaModel(const G4eeToPGammaModel&) = delete;
G4ParticleDefinition* particle;
G4ParticleDefinition* pi0;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToTwoPiModel.hh 82961 2014-07-21 09:20:49Z gcosmo $
// $Id: G4eeToTwoPiModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -61,22 +61,22 @@ class G4eeToTwoPiModel : public G4Vee2hadrons
public:
G4eeToTwoPiModel(G4eeCrossSections*,G4double,G4double);
explicit G4eeToTwoPiModel(G4eeCrossSections*,G4double,G4double);
virtual ~G4eeToTwoPiModel();
virtual G4double PeakEnergy() const;
virtual G4double PeakEnergy() const override;
virtual G4double ComputeCrossSection(G4double) const;
virtual G4double ComputeCrossSection(G4double) const override;
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
G4double, const G4ThreeVector&);
G4double, const G4ThreeVector&) override;
private:
// hide assignment operator
G4eeToTwoPiModel & operator=(const G4eeToTwoPiModel &right);
G4eeToTwoPiModel(const G4eeToTwoPiModel&);
G4eeToTwoPiModel & operator=(const G4eeToTwoPiModel &right) = delete;
G4eeToTwoPiModel(const G4eeToTwoPiModel&) = delete;
G4double massPi;
G4double massRho;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hBremsstrahlung.hh 72943 2013-08-14 13:40:29Z gcosmo $
// $Id: G4hBremsstrahlung.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -63,21 +63,21 @@ class G4hBremsstrahlung : public G4MuBremsstrahlung
{
public:
G4hBremsstrahlung(const G4String& processName = "hBrems");
explicit G4hBremsstrahlung(const G4String& processName = "hBrems");
virtual ~G4hBremsstrahlung();
virtual G4bool IsApplicable(const G4ParticleDefinition& p);
virtual G4bool IsApplicable(const G4ParticleDefinition& p) override;
protected:
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
const G4ParticleDefinition*);
const G4ParticleDefinition*) override;
private:
G4hBremsstrahlung & operator=(const G4hBremsstrahlung &right);
G4hBremsstrahlung(const G4hBremsstrahlung&);
G4hBremsstrahlung & operator=(const G4hBremsstrahlung &right) = delete;
G4hBremsstrahlung(const G4hBremsstrahlung&) = delete;
};
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hBremsstrahlungModel.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4hBremsstrahlungModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -58,7 +58,7 @@ class G4hBremsstrahlungModel : public G4MuBremsstrahlungModel
public:
G4hBremsstrahlungModel(const G4ParticleDefinition* p = 0,
explicit G4hBremsstrahlungModel(const G4ParticleDefinition* p = nullptr,
const G4String& nam = "hBrem");
virtual ~G4hBremsstrahlungModel();
@@ -67,12 +67,13 @@ protected:
virtual G4double ComputeDMicroscopicCrossSection(G4double tkin,
G4double Z,
G4double gammaEnergy);
G4double gammaEnergy) override;
private:
// hide assignment operator
G4hBremsstrahlungModel & operator=(const G4hBremsstrahlungModel &right);
G4hBremsstrahlungModel(const G4hBremsstrahlungModel&);
G4hBremsstrahlungModel &
operator=(const G4hBremsstrahlungModel &right) = delete;
G4hBremsstrahlungModel(const G4hBremsstrahlungModel&) = delete;
};
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hPairProduction.hh 72943 2013-08-14 13:40:29Z gcosmo $
// $Id: G4hPairProduction.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -60,21 +60,21 @@ class G4hPairProduction : public G4MuPairProduction
{
public:
G4hPairProduction(const G4String& processName = "hPairProd");
explicit G4hPairProduction(const G4String& processName = "hPairProd");
virtual ~G4hPairProduction();
virtual G4bool IsApplicable(const G4ParticleDefinition& p);
virtual G4bool IsApplicable(const G4ParticleDefinition& p) override;
protected:
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
const G4ParticleDefinition*);
const G4ParticleDefinition*) override;
private:
G4hPairProduction & operator=(const G4hPairProduction &right);
G4hPairProduction(const G4hPairProduction&);
G4hPairProduction & operator=(const G4hPairProduction &right) = delete;
G4hPairProduction(const G4hPairProduction&) = delete;
};
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hPairProductionModel.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4hPairProductionModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -58,7 +58,7 @@ class G4hPairProductionModel : public G4MuPairProductionModel
public:
G4hPairProductionModel(const G4ParticleDefinition* p = 0,
explicit G4hPairProductionModel(const G4ParticleDefinition* p = nullptr,
const G4String& nam = "hPairProd");
virtual ~G4hPairProductionModel();
@@ -67,12 +67,13 @@ protected:
virtual G4double ComputeDMicroscopicCrossSection(G4double tkin,
G4double Z,
G4double pairEnergy);
G4double pairEnergy) override;
private:
// hide assignment operator
G4hPairProductionModel & operator=(const G4hPairProductionModel &right);
G4hPairProductionModel(const G4hPairProductionModel&);
G4hPairProductionModel &
operator=(const G4hPairProductionModel &right) = delete;
G4hPairProductionModel(const G4hPairProductionModel&) = delete;
};
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hhIonisation.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4hhIonisation.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -63,34 +63,34 @@ class G4hhIonisation : public G4VEnergyLossProcess
public:
G4hhIonisation(const G4String& name = "hhIoni");
explicit G4hhIonisation(const G4String& name = "hhIoni");
virtual ~G4hhIonisation();
virtual G4bool IsApplicable(const G4ParticleDefinition& p);
virtual G4bool IsApplicable(const G4ParticleDefinition& p) override;
virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
const G4Material*, G4double cut);
const G4Material*, G4double cut) override;
// Print out of the class parameters
virtual void PrintInfo();
virtual void PrintInfo() override;
protected:
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
const G4ParticleDefinition*);
const G4ParticleDefinition*) override;
private:
// hide assignment operator
G4hhIonisation & operator=(const G4hhIonisation &right);
G4hhIonisation(const G4hhIonisation&);
G4hhIonisation & operator=(const G4hhIonisation &right) = delete;
G4hhIonisation(const G4hhIonisation&) = delete;
G4double mass;
G4double ratio;
const G4ParticleDefinition* theParticle;
const G4ParticleDefinition* theBaseParticle;
//const G4ParticleDefinition* theBaseParticle;
G4VEmFluctuationModel* flucModel;
G4bool isInitialised;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4mplIonisation.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: G4mplIonisation.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -66,25 +66,26 @@ class G4mplIonisation : public G4VEnergyLossProcess
public:
G4mplIonisation(G4double mCharge = 0.0, const G4String& name = "mplIoni");
explicit G4mplIonisation(G4double mCharge = 0.0,
const G4String& name = "mplIoni");
virtual ~G4mplIonisation();
virtual G4bool IsApplicable(const G4ParticleDefinition& p);
virtual G4bool IsApplicable(const G4ParticleDefinition& p) override;
// Print out of the class parameters
virtual void PrintInfo();
virtual void PrintInfo() override;
protected:
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
const G4ParticleDefinition*);
const G4ParticleDefinition*) override;
private:
// hide assignment operator
G4mplIonisation & operator=(const G4mplIonisation &right);
G4mplIonisation(const G4mplIonisation&);
G4mplIonisation & operator=(const G4mplIonisation &right) = delete;
G4mplIonisation(const G4mplIonisation&) = delete;
G4double magneticCharge;
G4bool isInitialised;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4mplIonisationModel.hh 76600 2013-11-13 08:30:02Z gcosmo $
// $Id: G4mplIonisationModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -60,35 +60,36 @@ class G4mplIonisationModel : public G4VEmModel, public G4VEmFluctuationModel
public:
G4mplIonisationModel(G4double mCharge,
explicit G4mplIonisationModel(G4double mCharge,
const G4String& nam = "mplIonisation");
virtual ~G4mplIonisationModel();
virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
virtual void Initialise(const G4ParticleDefinition*,
const G4DataVector&) override;
virtual G4double ComputeDEDXPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy);
G4double cutEnergy) override;
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin,
G4double maxEnergy);
G4double maxEnergy) override;
virtual G4double SampleFluctuations(const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmax,
G4double length,
G4double meanLoss);
G4double meanLoss) override;
virtual G4double Dispersion(const G4Material*,
const G4DynamicParticle*,
G4double tmax,
G4double length);
G4double length) override;
void SetParticle(const G4ParticleDefinition* p);
@@ -97,8 +98,9 @@ private:
G4double ComputeDEDXAhlen(const G4Material* material, G4double bg2);
// hide assignment operator
G4mplIonisationModel & operator=(const G4mplIonisationModel &right);
G4mplIonisationModel(const G4mplIonisationModel&);
G4mplIonisationModel &
operator=(const G4mplIonisationModel &right) = delete;
G4mplIonisationModel(const G4mplIonisationModel&) = delete;
const G4ParticleDefinition* monopole;
G4ParticleChangeForLoss* fParticleChange;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4mplIonisationWithDeltaModel.hh 76600 2013-11-13 08:30:02Z gcosmo $
// $Id: G4mplIonisationWithDeltaModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -60,17 +60,18 @@ class G4mplIonisationWithDeltaModel : public G4VEmModel, public G4VEmFluctuation
public:
G4mplIonisationWithDeltaModel(G4double mCharge,
explicit G4mplIonisationWithDeltaModel(G4double mCharge,
const G4String& nam = "mplIonisationWithDelta");
virtual ~G4mplIonisationWithDeltaModel();
virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
virtual void Initialise(const G4ParticleDefinition*,
const G4DataVector&) override;
virtual G4double ComputeDEDXPerVolume(const G4Material*,
const G4ParticleDefinition*,
G4double kineticEnergy,
G4double cutEnergy);
G4double cutEnergy) override;
virtual G4double ComputeCrossSectionPerElectron(
const G4ParticleDefinition*,
@@ -83,40 +84,41 @@ public:
G4double kineticEnergy,
G4double Z, G4double A,
G4double cutEnergy,
G4double maxEnergy);
G4double maxEnergy) override;
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin,
G4double maxEnergy);
G4double maxEnergy) override;
virtual G4double SampleFluctuations(const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmax,
G4double length,
G4double meanLoss);
G4double meanLoss) override;
virtual G4double Dispersion(const G4Material*,
const G4DynamicParticle*,
G4double tmax,
G4double length);
G4double length) override;
void SetParticle(const G4ParticleDefinition* p);
protected:
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
G4double kinEnergy);
G4double kinEnergy) override;
private:
G4double ComputeDEDXAhlen(const G4Material* material, G4double bg2, G4double cut);
// hide assignment operator
G4mplIonisationWithDeltaModel & operator=(const G4mplIonisationWithDeltaModel &right);
G4mplIonisationWithDeltaModel(const G4mplIonisationWithDeltaModel&);
G4mplIonisationWithDeltaModel &
operator=(const G4mplIonisationWithDeltaModel &right) = delete;
G4mplIonisationWithDeltaModel(const G4mplIonisationWithDeltaModel&) = delete;
const G4ParticleDefinition* monopole;
G4ParticleDefinition* theElectron;