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
@@ -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;