Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuBremsstrahlungModel.cc,v 1.36 2010-10-26 13:52:32 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// -------------------------------------------------------------------
//
@@ -63,6 +62,8 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4MuBremsstrahlungModel.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4Gamma.hh"
#include "G4MuonMinus.hh"
#include "G4MuonPlus.hh"
@@ -96,6 +97,15 @@ G4MuBremsstrahlungModel::G4MuBremsstrahlungModel(const G4ParticleDefinition* p,
mass = rmass = cc = coeff = 1.0;
fDN[0] = 0.0;
for(G4int i=1; i<93; ++i) {
G4double dn = 1.54*nist->GetA27(i);
fDN[i] = dn;
if(1 < i) {
fDN[i] /= std::pow(dn, 1./G4double(i));
}
}
if(p) { SetParticle(p); }
}
@@ -300,23 +310,19 @@ G4double G4MuBremsstrahlungModel::ComputeDMicroscopicCrossSection(
G4int iz = G4int(Z);
if(iz < 1) iz = 1;
else if(iz > 92) iz = 92;
G4double z13 = 1.0/nist->GetZ13(iz);
G4double dn = 1.54*nist->GetA27(iz);
G4double dnstar = fDN[iz];
G4double b,b1,dnstar ;
G4double b,b1;
if(1 == iz)
{
if(1 == iz) {
b = bh;
b1 = bh1;
dnstar = dn;
}
else
{
} else {
b = btf;
b1 = btf1;
dnstar = dn/std::pow(dn, 1./Z);
}
// nucleus contribution logarithm
@@ -425,9 +431,12 @@ void G4MuBremsstrahlungModel::SampleSecondaries(
G4double lnepksi, epksi;
G4double func2;
G4double xmin = log(tmin/MeV);
G4double xmax = log(kineticEnergy/tmin);
do {
lnepksi = log(tmin) + G4UniformRand()*log(kineticEnergy/tmin);
epksi = exp(lnepksi);
lnepksi = xmin + G4UniformRand()*xmax;
epksi = MeV*exp(lnepksi);
func2 = epksi*ComputeDMicroscopicCrossSection(kineticEnergy,Z,epksi);
} while(func2 < func1*G4UniformRand());