Import Geant4 10.5.0.beta source tree
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user