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: G4mplIonisationModel.cc,v 1.8 2010-10-26 15:40:03 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// -------------------------------------------------------------------
//
@@ -56,6 +55,8 @@
#include "G4mplIonisationModel.hh"
#include "Randomize.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4LossTableManager.hh"
#include "G4ParticleChangeForLoss.hh"
@@ -79,8 +80,8 @@ G4mplIonisationModel::G4mplIonisationModel(G4double mCharge, const G4String& nam
chargeSquare = magCharge * magCharge;
dedxlim = 45.*nmpl*nmpl*GeV*cm2/g;
fParticleChange = 0;
mass = 0.0;
monopole = 0;
mass = 0.0;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -90,21 +91,35 @@ G4mplIonisationModel::~G4mplIonisationModel()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G4mplIonisationModel::Initialise(const G4ParticleDefinition* p,
const G4DataVector&)
void G4mplIonisationModel::SetParticle(const G4ParticleDefinition* p)
{
monopole = p;
mass = monopole->GetPDGMass();
G4double emin =
std::min(LowEnergyLimit(),0.1*mass*(1/sqrt(1 - betalow*betalow) - 1));
G4double emax =
std::max(HighEnergyLimit(),10*mass*(1/sqrt(1 - beta2lim) - 1));
SetLowEnergyLimit(emin);
SetHighEnergyLimit(emax);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G4mplIonisationModel::Initialise(const G4ParticleDefinition* p,
const G4DataVector&)
{
if(!monopole) { SetParticle(p); }
if(!fParticleChange) { fParticleChange = GetParticleChangeForLoss(); }
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4double G4mplIonisationModel::ComputeDEDXPerVolume(const G4Material* material,
const G4ParticleDefinition*,
const G4ParticleDefinition* p,
G4double kineticEnergy,
G4double)
{
if(!monopole) { SetParticle(p); }
G4double tau = kineticEnergy / mass;
G4double gam = tau + 1.0;
G4double bg2 = tau * (tau + 2.0);