Import Geant4 10.5.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2018-06-29 10:58:11 +02:00
parent fe81a77428
commit 6aa23be517
1581 changed files with 124288 additions and 83758 deletions
@@ -1,4 +1,4 @@
$Id: History 107367 2017-11-09 10:56:09Z gcosmo $
$Id: History 109567 2018-05-02 07:04:10Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,14 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
01 May 2018: V.Ivant (emhighenergy-V10-04-01)
- G4eeToHadronsMultiModel - cleanup of headers
- G4eeToHadronsModel, G4mplIonisationWithDeltaModel - minor cleanup
28 Feb 2018: V.Ivant (emhighenergy-V10-04-00)
- G4AnnihiToMuPair - H.Burkhardt added Coulomb correction to the
cross section at the threshold
08 Nov 2017: D.Sawkey (emhighenergy-V10-03-05)
- G4hBremsstrahlung, G4hPairProduction - update ProcessDescription text
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadronsMultiModel.hh 106715 2017-10-20 09:39:06Z gcosmo $
// $Id: G4eeToHadronsMultiModel.hh 109567 2018-05-02 07:04:10Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -54,8 +54,8 @@
#include "G4ParticleChangeForGamma.hh"
#include "G4TrackStatus.hh"
#include "Randomize.hh"
#include "CLHEP/Units/SystemOfUnits.h"
#include "CLHEP/Units/PhysicalConstants.h"
#include <CLHEP/Units/SystemOfUnits.h>
#include <CLHEP/Units/PhysicalConstants.h>
#include <vector>
class G4eeCrossSections;
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4AnnihiToMuPair.cc 97391 2016-06-02 10:08:45Z gcosmo $
// $Id: G4AnnihiToMuPair.cc 108750 2018-03-02 15:26:50Z gcosmo $
//
// ------------ G4AnnihiToMuPair physics process ------
// by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002
@@ -35,6 +35,7 @@
// 27.01.03 : first implementation (hbu)
// 04.02.03 : cosmetic simplifications (mma)
// 25.10.04 : migrade to new interfaces of ParticleChange (vi)
// 28.02.18 : cross section now including SSS threshold factor
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -110,15 +111,18 @@ G4double G4AnnihiToMuPair::ComputeCrossSectionPerAtom(G4double Epos, G4double Z)
// It gives a good description from threshold to 1000 GeV
{
static const G4double Mmuon = G4MuonPlus::MuonPlus()->GetPDGMass();
static const G4double Rmuon = elm_coupling/Mmuon; //classical particle radius
static const G4double Sig0 = pi*Rmuon*Rmuon/3.; //constant in crossSection
static const G4double Rmuon = CLHEP::elm_coupling/Mmuon; //classical particle radius
static const G4double Sig0 = CLHEP::pi*Rmuon*Rmuon/3.; //constant in crossSection
static const G4double pia = CLHEP::pi * CLHEP::fine_structure_const; // pi * alphaQED
G4double CrossSection = 0.;
if (Epos < LowestEnergyLimit) return CrossSection;
G4double xi = LowestEnergyLimit/Epos;
G4double SigmaEl = Sig0*xi*(1.+xi/2.)*sqrt(1.-xi); // per electron
CrossSection = SigmaEl*Z; // number of electrons per atom
G4double piaxi = pia * sqrt(xi);
G4double SigmaEl = Sig0 * xi * (1.+xi/2.) * piaxi;
if( Epos>LowestEnergyLimit+1.e-5 ) SigmaEl /= (1.-std::exp( -piaxi/std::sqrt(1-xi) ));
CrossSection = SigmaEl*Z; // SigmaEl per electron * number of electrons per atom
return CrossSection;
}
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadronsModel.cc 97391 2016-06-02 10:08:45Z gcosmo $
// $Id: G4eeToHadronsModel.cc 109567 2018-05-02 07:04:10Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -175,11 +175,7 @@ G4double G4eeToHadronsModel::ComputeCrossSectionPerElectron(
G4double energy,
G4double, G4double)
{
G4double cross = 0.0;
if(crossPerElectron) {
cross = crossPerElectron->Value(energy);
}
return cross;
return (crossPerElectron) ? crossPerElectron->Value(energy) : 0.0;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -226,7 +222,7 @@ void G4eeToHadronsModel::SampleSecondaries(std::vector<G4DynamicParticle*>* newp
gamma->Set4Momentum(gLv);
t -= gLv.e();
newp->push_back(gamma);
if(fabs(t) > MeV) {
if(std::abs(t) > MeV) {
G4cout << "G4eeToHadronsModel::SampleSecondaries: Ebalance(MeV)= "
<< t/MeV << " primary 4-momentum: " << inlv << G4endl;
}
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4mplIonisationWithDeltaModel.cc 97391 2016-06-02 10:08:45Z gcosmo $
// $Id: G4mplIonisationWithDeltaModel.cc 109567 2018-05-02 07:04:10Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -80,7 +80,7 @@ G4mplIonisationWithDeltaModel::G4mplIonisationWithDeltaModel(G4double mCharge,
beta2lim(betalim*betalim),
bg2lim(beta2lim*(1.0 + beta2lim))
{
nmpl = G4lrint(std::fabs(magCharge) * 2 * fine_structure_const);
nmpl = G4lrint(std::abs(magCharge) * 2 * fine_structure_const);
if(nmpl > 6) { nmpl = 6; }
else if(nmpl < 1) { nmpl = 1; }
pi_hbarc2_over_mc2 = pi * hbarc * hbarc / electron_mass_c2;