Import Geant4 11.0.0 source tree
This commit is contained in:
committed by
Ben Morgan
parent
6399a014b6
commit
80e2389dd8
+1
-1
@@ -184,7 +184,7 @@ namespace G4INCL {
|
||||
|
||||
/** Bias apply for this reaction in order to get the same
|
||||
* ParticleBias for all stange particles.
|
||||
* Can be reduced after because of the watchdog.
|
||||
* Can be reduced after because of the safeguard.
|
||||
*/
|
||||
G4double bias_apply = 1.;
|
||||
if(bias != 1.) bias_apply = Particle::getBiasFromVector(Particle::MergeVectorBias(particle1,particle2)) * bias;
|
||||
|
||||
@@ -148,10 +148,13 @@ namespace G4INCL {
|
||||
// Fill in the global information
|
||||
theGlobalInfo.At = theConfig->getTargetA();
|
||||
theGlobalInfo.Zt = theConfig->getTargetZ();
|
||||
theGlobalInfo.St = theConfig->getTargetS();
|
||||
const ParticleSpecies theSpecies = theConfig->getProjectileSpecies();
|
||||
theGlobalInfo.Ap = theSpecies.theA;
|
||||
theGlobalInfo.Zp = theSpecies.theZ;
|
||||
theGlobalInfo.Sp = theSpecies.theS;
|
||||
theGlobalInfo.Ep = theConfig->getProjectileKineticEnergy();
|
||||
theGlobalInfo.biasFactor = theConfig->getBias();
|
||||
#endif
|
||||
|
||||
fixedImpactParameter = theConfig->getImpactParameter();
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@ namespace G4INCL {
|
||||
// From Kamano
|
||||
else {
|
||||
|
||||
const G4double pi=std::acos(-1.0);
|
||||
const G4double pi=std::acos(-1.0);
|
||||
G4double x1;
|
||||
G4double u1;
|
||||
G4double fteta;
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@ namespace G4INCL {
|
||||
const std::map<G4int,InterpolationTable*>::const_iterator mapEntry = rpCorrelationTableCache->find(nuclideID);
|
||||
if(mapEntry == rpCorrelationTableCache->end()) {
|
||||
|
||||
INCL_DEBUG("Creating r-p correlation function for " << ((t==Proton) ? "protons" : "neutrons") << " in A=" << A << ", Z=" << Z << std::endl);
|
||||
INCL_DEBUG("Creating r-p correlation function for " << ((t==Proton) ? "protons" : ((t==Neutron) ? "neutrons" : "lambdas")) << " in A=" << A << ", Z=" << Z << std::endl);
|
||||
|
||||
IFunction1D *rpCorrelationFunction;
|
||||
if(A > 19) {
|
||||
|
||||
+4
-2
@@ -105,9 +105,11 @@ namespace G4INCL {
|
||||
vSigmaZero = -16.; // hypothesis: same potential for each sigma
|
||||
vSigmaPlus = -16.;
|
||||
|
||||
vLambda = 28.;
|
||||
vLambda = 30.;
|
||||
const G4double asy = (theA - 2.*theZ)/theA;
|
||||
if(asy>0.11)vLambda = 56.549-678.73*asy+4905.35*std::pow(asy,2.)-9789.1*std::pow(asy,3.); // Jose Luis Rodriguez-Sanchez et al., Rapid Communication PRC
|
||||
// Jose Luis Rodriguez-Sanchez et al., Rapid Communication PRC 98, 021602 (2018)
|
||||
if (asy > 0.236) vLambda = 40.91;
|
||||
else if (asy > 0.133) vLambda = 56.549 - 678.73*asy + 4905.35*asy*asy - 9789.1*asy*asy*asy;
|
||||
|
||||
const G4double theLambdaSeparationEnergy = ParticleTable::getSeparationEnergy(Lambda,theA,theZ);
|
||||
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@ namespace G4INCL {
|
||||
omega->setEnergy(ee);
|
||||
G4double pn=std::sqrt(en*en-mn*mn);
|
||||
/*// test isotropy
|
||||
const G4double pi=std::acos(-1.0);
|
||||
const G4double pi=std::acos(-1.0);
|
||||
G4double x1;
|
||||
G4double u1;
|
||||
G4double fteta;
|
||||
|
||||
@@ -48,11 +48,12 @@
|
||||
|
||||
namespace G4INCL {
|
||||
|
||||
ParticleSampler::ParticleSampler(const G4int A, const G4int Z) :
|
||||
ParticleSampler::ParticleSampler(const G4int A, const G4int Z, const G4int S) :
|
||||
sampleOneProton(&ParticleSampler::sampleOneParticleWithoutRPCorrelation),
|
||||
sampleOneNeutron(&ParticleSampler::sampleOneParticleWithoutRPCorrelation),
|
||||
theA(A),
|
||||
theZ(Z),
|
||||
theS(S),
|
||||
theDensity(NULL),
|
||||
thePotential(NULL)
|
||||
{
|
||||
@@ -61,6 +62,7 @@ namespace G4INCL {
|
||||
std::fill(rpCorrelationCoefficient, rpCorrelationCoefficient + UnknownParticle, 1.);
|
||||
rpCorrelationCoefficient[Proton] = ParticleTable::getRPCorrelationCoefficient(Proton);
|
||||
rpCorrelationCoefficient[Neutron] = ParticleTable::getRPCorrelationCoefficient(Neutron);
|
||||
rpCorrelationCoefficient[Lambda] = ParticleTable::getRPCorrelationCoefficient(Lambda);
|
||||
}
|
||||
|
||||
ParticleSampler::~ParticleSampler() {
|
||||
@@ -108,6 +110,8 @@ namespace G4INCL {
|
||||
thePCDFTable[Proton] = NuclearDensityFactory::createPCDFTable(Proton, theA, theZ);
|
||||
theRCDFTable[Neutron] = NuclearDensityFactory::createRCDFTable(Neutron, theA, theZ);
|
||||
thePCDFTable[Neutron] = NuclearDensityFactory::createPCDFTable(Neutron, theA, theZ);
|
||||
theRCDFTable[Lambda] = NuclearDensityFactory::createRCDFTable(Lambda, theA, theZ);
|
||||
thePCDFTable[Lambda] = NuclearDensityFactory::createPCDFTable(Lambda, theA, theZ);
|
||||
}
|
||||
|
||||
theList.resize(theA);
|
||||
@@ -116,9 +120,10 @@ namespace G4INCL {
|
||||
ParticleSamplerMethod sampleOneParticle = sampleOneProton;
|
||||
for(G4int i = 0; i < theA; ++i) {
|
||||
if(i == theZ) { // Nucleons [Z..A-1] are neutrons
|
||||
type = Neutron;
|
||||
sampleOneParticle = sampleOneNeutron;
|
||||
type = Lambda;
|
||||
sampleOneParticle = sampleOneNeutron; // hypothesis: Lambdas follow the same rules than neutrons
|
||||
}
|
||||
if(i == theZ - theS) type = Neutron;
|
||||
Particle *p = (this->*sampleOneParticle)(type);
|
||||
p->setPosition(position + p->getPosition());
|
||||
theList[i] = p;
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace G4INCL {
|
||||
|
||||
G4double ECM=G4INCL::KinematicsUtils::totalEnergyInCM(particle1,particle2);
|
||||
|
||||
const G4double pi=std::acos(-1.0);
|
||||
const G4double pi=std::acos(-1.0);
|
||||
G4double x1;
|
||||
G4double u1;
|
||||
G4double fteta;
|
||||
|
||||
@@ -74,14 +74,15 @@ namespace G4INCL {
|
||||
}
|
||||
|
||||
void ProjectileRemnant::removeParticle(Particle * const p, const G4double theProjectileCorrection) {
|
||||
// assert(p->isNucleon());
|
||||
// assert(p->isNucleon() || p->isLambda());
|
||||
|
||||
INCL_DEBUG("The following Particle is about to be removed from the ProjectileRemnant:"
|
||||
<< '\n' << p->print()
|
||||
<< "theProjectileCorrection=" << theProjectileCorrection << '\n');
|
||||
// Update A, Z, momentum and energy of the projectile remnant
|
||||
// Update A, Z, S, momentum, and energy of the projectile remnant
|
||||
theA -= p->getA();
|
||||
theZ -= p->getZ();
|
||||
theS -= p->getS();
|
||||
|
||||
ThreeVector const &oldMomentum = p->getMomentum();
|
||||
const G4double oldEnergy = p->getEnergy();
|
||||
|
||||
Reference in New Issue
Block a user