Import Geant4 7.0.0 source tree
This commit is contained in:
@@ -204,13 +204,14 @@ G4VParticleChange* G4AntiNeutronAnnihilationAtRest::AtRestDoIt(
|
||||
localtime = globalTime + gkin[isec].GetTOF();
|
||||
|
||||
G4Track* aNewTrack = new G4Track( aNewParticle, localtime*s, position );
|
||||
aParticleChange.AddSecondary( aNewTrack );
|
||||
aNewTrack->SetTouchableHandle(track.GetTouchableHandle());
|
||||
aParticleChange.AddSecondary( aNewTrack );
|
||||
|
||||
}
|
||||
|
||||
aParticleChange.SetLocalEnergyDeposit( 0.0*GeV );
|
||||
aParticleChange.ProposeLocalEnergyDeposit( 0.0*GeV );
|
||||
|
||||
aParticleChange.SetStatusChange(fStopAndKill); // Kill the incident AntiNeutron
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill); // Kill the incident AntiNeutron
|
||||
|
||||
// clear InteractionLengthLeft
|
||||
|
||||
@@ -304,7 +305,7 @@ void G4AntiNeutronAnnihilationAtRest::Poisso(G4float xav, G4int *iran)
|
||||
if (xav > G4float(9.9)) {
|
||||
// ** NORMAL DISTRIBUTION WITH SIGMA**2 = <X>
|
||||
Normal(&ran1);
|
||||
ran1 = xav + ran1 * sqrt(xav);
|
||||
ran1 = xav + ran1 * std::sqrt(xav);
|
||||
*iran = G4int(ran1);
|
||||
if (*iran < 0) {
|
||||
*iran = 0;
|
||||
@@ -314,19 +315,19 @@ void G4AntiNeutronAnnihilationAtRest::Poisso(G4float xav, G4int *iran)
|
||||
mm = G4int(xav * G4float(5.));
|
||||
*iran = 0;
|
||||
if (mm > 0) {
|
||||
r = exp(-G4double(xav));
|
||||
r = std::exp(-G4double(xav));
|
||||
ran1 = G4UniformRand();
|
||||
if (ran1 > r) {
|
||||
rr = r;
|
||||
for (i = 1; i <= mm; ++i) {
|
||||
++(*iran);
|
||||
if (i <= 5) {
|
||||
rrr = pow(xav, G4float(i)) / NFac(i);
|
||||
rrr = std::pow(xav, G4float(i)) / NFac(i);
|
||||
}
|
||||
// ** STIRLING' S FORMULA FOR LARGE NUMBERS
|
||||
if (i > 5) {
|
||||
rrr = exp(i * log(xav) -
|
||||
(i + G4float(.5)) * log(i * G4float(1.)) +
|
||||
rrr = std::exp(i * std::log(xav) -
|
||||
(i + G4float(.5)) * std::log(i * G4float(1.)) +
|
||||
i - G4float(.9189385));
|
||||
}
|
||||
rr += r * rrr;
|
||||
@@ -338,7 +339,7 @@ void G4AntiNeutronAnnihilationAtRest::Poisso(G4float xav, G4int *iran)
|
||||
}
|
||||
else {
|
||||
// ** FOR VERY SMALL XAV TRY IRAN=1,2,3
|
||||
p1 = xav * exp(-G4double(xav));
|
||||
p1 = xav * std::exp(-G4double(xav));
|
||||
p2 = xav * p1 / G4float(2.);
|
||||
p3 = xav * p2 / G4float(3.);
|
||||
ran = G4UniformRand();
|
||||
@@ -480,7 +481,7 @@ void G4AntiNeutronAnnihilationAtRest::AntiNeutronAnnihilation(G4int *nopt)
|
||||
ek /= G4float(2.);
|
||||
en = ek + (rmnve1 + rmnve2) / G4float(2.);
|
||||
r__1 = en * en - rmnve1 * rmnve2;
|
||||
pcm = r__1 > 0 ? sqrt(r__1) : 0;
|
||||
pcm = r__1 > 0 ? std::sqrt(r__1) : 0;
|
||||
pv[2].SetZero();
|
||||
pv[2].SetMass( rmnve1 );
|
||||
pv[3].SetZero();
|
||||
@@ -489,9 +490,9 @@ void G4AntiNeutronAnnihilationAtRest::AntiNeutronAnnihilation(G4int *nopt)
|
||||
pv[2].SetMass( 0. );
|
||||
pv[3].SetMass( 0. );
|
||||
}
|
||||
pv[2].SetEnergyAndUpdate( sqrt(pv[2].GetMass()*pv[2].GetMass()+pcm*pcm) );
|
||||
pv[2].SetEnergyAndUpdate( std::sqrt(pv[2].GetMass()*pv[2].GetMass()+pcm*pcm) );
|
||||
pv[2].SetTOF( result.GetTOF() );
|
||||
pv[3].SetEnergy( sqrt(pv[3].GetMass()*pv[3].GetMass()+pcm*pcm) );
|
||||
pv[3].SetEnergy( std::sqrt(pv[3].GetMass()*pv[3].GetMass()+pcm*pcm) );
|
||||
pv[3].SetMomentumAndUpdate( -pv[2].GetMomentum().x(), -pv[2].GetMomentum().y(), -pv[2].GetMomentum().z() );
|
||||
pv[3].SetTOF( result.GetTOF() );
|
||||
switch ((int)isw) {
|
||||
@@ -517,7 +518,7 @@ void G4AntiNeutronAnnihilationAtRest::AntiNeutronAnnihilation(G4int *nopt)
|
||||
nt = 3;
|
||||
if (targetAtomicMass >= G4float(1.5)) {
|
||||
cfa = (targetAtomicMass - G4float(1.)) / G4float(120.) *
|
||||
G4float(.025) * exp(-G4double(targetAtomicMass - G4float(1.)) /
|
||||
G4float(.025) * std::exp(-G4double(targetAtomicMass - G4float(1.)) /
|
||||
G4float(120.));
|
||||
targ = G4float(1.);
|
||||
tex = evapEnergy1;
|
||||
@@ -543,10 +544,10 @@ void G4AntiNeutronAnnihilationAtRest::AntiNeutronAnnihilation(G4int *nopt)
|
||||
}
|
||||
ran1 = G4UniformRand();
|
||||
Normal(&ran2);
|
||||
ekin1 = -G4double(ekin) * log(ran1) -
|
||||
ekin1 = -G4double(ekin) * std::log(ran1) -
|
||||
cfa * (ran2 * G4float(.5) + G4float(1.));
|
||||
if (ekin1 < G4float(0.)) {
|
||||
ekin1 = log(ran1) * G4float(-.01);
|
||||
ekin1 = std::log(ran1) * G4float(-.01);
|
||||
}
|
||||
ekin1 *= G4float(1.);
|
||||
ekin2 += ekin1;
|
||||
@@ -618,10 +619,10 @@ void G4AntiNeutronAnnihilationAtRest::AntiNeutronAnnihilation(G4int *nopt)
|
||||
}
|
||||
ran1 = G4UniformRand();
|
||||
Normal(&ran2);
|
||||
ekin1 = -G4double(ekin) * log(ran1) -
|
||||
ekin1 = -G4double(ekin) * std::log(ran1) -
|
||||
cfa * (ran2 * G4float(.5) + G4float(1.));
|
||||
if (ekin1 < G4float(0.)) {
|
||||
ekin1 = log(ran1) * G4float(-.01);
|
||||
ekin1 = std::log(ran1) * G4float(-.01);
|
||||
}
|
||||
ekin1 *= G4float(1.);
|
||||
ekin2 += ekin1;
|
||||
@@ -692,17 +693,17 @@ G4double G4AntiNeutronAnnihilationAtRest::ExNu(G4float ek1)
|
||||
// ** 0.35 VALUE AT 1 GEV
|
||||
// ** 0.05 VALUE AT 0.1 GEV
|
||||
cfa = G4float(.13043478260869565);
|
||||
cfa = cfa * log(ekin1) + G4float(.35);
|
||||
cfa = cfa * std::log(ekin1) + G4float(.35);
|
||||
if (cfa < G4float(.15)) {
|
||||
cfa = G4float(.15);
|
||||
}
|
||||
ret_val = cfa * G4float(7.716) * exp(-G4double(cfa));
|
||||
ret_val = cfa * G4float(7.716) * std::exp(-G4double(cfa));
|
||||
atno3 = targetAtomicMass;
|
||||
if (atno3 > G4float(120.)) {
|
||||
atno3 = G4float(120.);
|
||||
}
|
||||
cfa = (atno3 - G4float(1.)) /
|
||||
G4float(120.) * exp(-G4double(atno3 - G4float(1.)) / G4float(120.));
|
||||
G4float(120.) * std::exp(-G4double(atno3 - G4float(1.)) / G4float(120.));
|
||||
ret_val *= cfa;
|
||||
r__1 = ekin1;
|
||||
fpdiv = G4float(1.) - r__1 * r__1 * G4float(.25);
|
||||
@@ -711,7 +712,7 @@ G4double G4AntiNeutronAnnihilationAtRest::ExNu(G4float ek1)
|
||||
}
|
||||
gfa = (targetAtomicMass - G4float(1.)) /
|
||||
G4float(70.) * G4float(2.) *
|
||||
exp(-G4double(targetAtomicMass - G4float(1.)) / G4float(70.));
|
||||
std::exp(-G4double(targetAtomicMass - G4float(1.)) / G4float(70.));
|
||||
evapEnergy1 = ret_val * fpdiv;
|
||||
evapEnergy3 = ret_val - evapEnergy1;
|
||||
Normal(&ran1);
|
||||
|
||||
@@ -206,13 +206,14 @@ G4VParticleChange* G4AntiProtonAnnihilationAtRest::AtRestDoIt(
|
||||
localtime = globalTime + gkin[isec].GetTOF();
|
||||
|
||||
G4Track* aNewTrack = new G4Track( aNewParticle, localtime*s, position );
|
||||
aNewTrack->SetTouchableHandle(track.GetTouchableHandle());
|
||||
aParticleChange.AddSecondary( aNewTrack );
|
||||
|
||||
}
|
||||
|
||||
aParticleChange.SetLocalEnergyDeposit( 0.0*GeV );
|
||||
aParticleChange.ProposeLocalEnergyDeposit( 0.0*GeV );
|
||||
|
||||
aParticleChange.SetStatusChange(fStopAndKill); // Kill the incident AntiProton
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill); // Kill the incident AntiProton
|
||||
|
||||
// clear InteractionLengthLeft
|
||||
|
||||
@@ -303,7 +304,7 @@ void G4AntiProtonAnnihilationAtRest::Poisso(G4float xav, G4int *iran)
|
||||
if (xav > G4float(9.9)) {
|
||||
// ** NORMAL DISTRIBUTION WITH SIGMA**2 = <X>
|
||||
Normal(&ran1);
|
||||
ran1 = xav + ran1 * sqrt(xav);
|
||||
ran1 = xav + ran1 * std::sqrt(xav);
|
||||
*iran = G4int(ran1);
|
||||
if (*iran < 0) {
|
||||
*iran = 0;
|
||||
@@ -313,19 +314,19 @@ void G4AntiProtonAnnihilationAtRest::Poisso(G4float xav, G4int *iran)
|
||||
mm = G4int(xav * G4float(5.));
|
||||
*iran = 0;
|
||||
if (mm > 0) {
|
||||
r = exp(-G4double(xav));
|
||||
r = std::exp(-G4double(xav));
|
||||
ran1 = G4UniformRand();
|
||||
if (ran1 > r) {
|
||||
rr = r;
|
||||
for (i = 1; i <= mm; ++i) {
|
||||
++(*iran);
|
||||
if (i <= 5) {
|
||||
rrr = pow(xav, G4float(i)) / NFac(i);
|
||||
rrr = std::pow(xav, G4float(i)) / NFac(i);
|
||||
}
|
||||
// ** STIRLING' S FORMULA FOR LARGE NUMBERS
|
||||
if (i > 5) {
|
||||
rrr = exp(i * log(xav) -
|
||||
(i + G4float(.5)) * log(i * G4float(1.)) +
|
||||
rrr = std::exp(i * std::log(xav) -
|
||||
(i + G4float(.5)) * std::log(i * G4float(1.)) +
|
||||
i - G4float(.9189385));
|
||||
}
|
||||
rr += r * rrr;
|
||||
@@ -337,7 +338,7 @@ void G4AntiProtonAnnihilationAtRest::Poisso(G4float xav, G4int *iran)
|
||||
}
|
||||
else {
|
||||
// ** FOR VERY SMALL XAV TRY IRAN=1,2,3
|
||||
p1 = xav * exp(-G4double(xav));
|
||||
p1 = xav * std::exp(-G4double(xav));
|
||||
p2 = xav * p1 / G4float(2.);
|
||||
p3 = xav * p2 / G4float(3.);
|
||||
ran = G4UniformRand();
|
||||
@@ -478,7 +479,7 @@ void G4AntiProtonAnnihilationAtRest::AntiProtonAnnihilation(G4int *nopt)
|
||||
ek *= G4float(.5);
|
||||
en = ek + (rmnve1 + rmnve2) * G4float(.5);
|
||||
r__1 = en * en - rmnve1 * rmnve2;
|
||||
pcm = r__1 > 0 ? sqrt(r__1) : 0;
|
||||
pcm = r__1 > 0 ? std::sqrt(r__1) : 0;
|
||||
pv[2].SetZero();
|
||||
pv[2].SetMass( rmnve1 );
|
||||
pv[3].SetZero();
|
||||
@@ -487,9 +488,9 @@ void G4AntiProtonAnnihilationAtRest::AntiProtonAnnihilation(G4int *nopt)
|
||||
pv[2].SetMass( 0. );
|
||||
pv[3].SetMass( 0. );
|
||||
}
|
||||
pv[2].SetEnergyAndUpdate( sqrt(pv[2].GetMass()*pv[2].GetMass()+pcm*pcm) );
|
||||
pv[2].SetEnergyAndUpdate( std::sqrt(pv[2].GetMass()*pv[2].GetMass()+pcm*pcm) );
|
||||
pv[2].SetTOF( result.GetTOF() );
|
||||
pv[3].SetEnergy( sqrt(pv[3].GetMass()*pv[3].GetMass()+pcm*pcm) );
|
||||
pv[3].SetEnergy( std::sqrt(pv[3].GetMass()*pv[3].GetMass()+pcm*pcm) );
|
||||
pv[3].SetMomentumAndUpdate( -pv[2].GetMomentum().x(), -pv[2].GetMomentum().y(), -pv[2].GetMomentum().z() );
|
||||
pv[3].SetTOF( result.GetTOF() );
|
||||
switch ((int)isw) {
|
||||
@@ -516,7 +517,7 @@ void G4AntiProtonAnnihilationAtRest::AntiProtonAnnihilation(G4int *nopt)
|
||||
if (targetAtomicMass >= G4float(1.5)) {
|
||||
cfa = (targetAtomicMass - G4float(1.)) /
|
||||
G4float(120.) * G4float(.025) *
|
||||
exp(-G4double(targetAtomicMass - G4float(1.)) / G4float(120.));
|
||||
std::exp(-G4double(targetAtomicMass - G4float(1.)) / G4float(120.));
|
||||
targ = G4float(1.);
|
||||
tex = evapEnergy1;
|
||||
if (tex >= G4float(.001)) {
|
||||
@@ -541,10 +542,10 @@ void G4AntiProtonAnnihilationAtRest::AntiProtonAnnihilation(G4int *nopt)
|
||||
}
|
||||
ran1 = G4UniformRand();
|
||||
Normal(&ran2);
|
||||
ekin1 = -G4double(ekin) * log(ran1) -
|
||||
ekin1 = -G4double(ekin) * std::log(ran1) -
|
||||
cfa * (ran2 * G4float(.5) + G4float(1.));
|
||||
if (ekin1 < G4float(0.)) {
|
||||
ekin1 = log(ran1) * G4float(-.01);
|
||||
ekin1 = std::log(ran1) * G4float(-.01);
|
||||
}
|
||||
ekin1 *= G4float(1.);
|
||||
ekin2 += ekin1;
|
||||
@@ -616,10 +617,10 @@ void G4AntiProtonAnnihilationAtRest::AntiProtonAnnihilation(G4int *nopt)
|
||||
}
|
||||
ran1 = G4UniformRand();
|
||||
Normal(&ran2);
|
||||
ekin1 = -G4double(ekin) * log(ran1) -
|
||||
ekin1 = -G4double(ekin) * std::log(ran1) -
|
||||
cfa * (ran2 * G4float(.5) + G4float(1.));
|
||||
if (ekin1 < G4float(0.)) {
|
||||
ekin1 = log(ran1) * G4float(-.01);
|
||||
ekin1 = std::log(ran1) * G4float(-.01);
|
||||
}
|
||||
ekin1 *= G4float(1.);
|
||||
ekin2 += ekin1;
|
||||
@@ -690,17 +691,17 @@ G4double G4AntiProtonAnnihilationAtRest::ExNu(G4float ek1)
|
||||
// ** 0.35 VALUE AT 1 GEV
|
||||
// ** 0.05 VALUE AT 0.1 GEV
|
||||
cfa = G4float(.13043478260869565);
|
||||
cfa = cfa * log(ekin1) + G4float(.35);
|
||||
cfa = cfa * std::log(ekin1) + G4float(.35);
|
||||
if (cfa < G4float(.15)) {
|
||||
cfa = G4float(.15);
|
||||
}
|
||||
ret_val = cfa * G4float(7.716) * exp(-G4double(cfa));
|
||||
ret_val = cfa * G4float(7.716) * std::exp(-G4double(cfa));
|
||||
atno3 = targetAtomicMass;
|
||||
if (atno3 > G4float(120.)) {
|
||||
atno3 = G4float(120.);
|
||||
}
|
||||
cfa = (atno3 - G4float(1.)) /
|
||||
G4float(120.) * exp(-G4double(atno3 - G4float(1.)) / G4float(120.));
|
||||
G4float(120.) * std::exp(-G4double(atno3 - G4float(1.)) / G4float(120.));
|
||||
ret_val *= cfa;
|
||||
r__1 = ekin1;
|
||||
fpdiv = G4float(1.) - r__1 * r__1 * G4float(.25);
|
||||
@@ -709,7 +710,7 @@ G4double G4AntiProtonAnnihilationAtRest::ExNu(G4float ek1)
|
||||
}
|
||||
gfa = (targetAtomicMass - G4float(1.)) /
|
||||
G4float(70.) * G4float(2.) *
|
||||
exp(-G4double(targetAtomicMass - G4float(1.)) / G4float(70.));
|
||||
std::exp(-G4double(targetAtomicMass - G4float(1.)) / G4float(70.));
|
||||
evapEnergy1 = ret_val * fpdiv;
|
||||
evapEnergy3 = ret_val - evapEnergy1;
|
||||
Normal(&ran1);
|
||||
|
||||
@@ -204,13 +204,14 @@ G4VParticleChange* G4KaonMinusAbsorption::AtRestDoIt(
|
||||
localtime = globalTime + gkin[isec].GetTOF();
|
||||
|
||||
G4Track* aNewTrack = new G4Track( aNewParticle, localtime*s, position );
|
||||
aNewTrack->SetTouchableHandle(track.GetTouchableHandle());
|
||||
aParticleChange.AddSecondary( aNewTrack );
|
||||
|
||||
}
|
||||
|
||||
aParticleChange.SetLocalEnergyDeposit( 0.0*GeV );
|
||||
aParticleChange.ProposeLocalEnergyDeposit( 0.0*GeV );
|
||||
|
||||
aParticleChange.SetStatusChange(fStopAndKill); // Kill the incident KaonMinus
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill); // Kill the incident KaonMinus
|
||||
|
||||
// clear InteractionLengthLeft
|
||||
|
||||
@@ -301,7 +302,7 @@ void G4KaonMinusAbsorption::Poisso(G4float xav, G4int *iran)
|
||||
if (xav > G4float(9.9)) {
|
||||
// ** NORMAL DISTRIBUTION WITH SIGMA**2 = <X>
|
||||
Normal(&ran1);
|
||||
ran1 = xav + ran1 * sqrt(xav);
|
||||
ran1 = xav + ran1 * std::sqrt(xav);
|
||||
*iran = G4int(ran1);
|
||||
if (*iran < 0) {
|
||||
*iran = 0;
|
||||
@@ -311,19 +312,19 @@ void G4KaonMinusAbsorption::Poisso(G4float xav, G4int *iran)
|
||||
mm = G4int(xav * G4float(5.));
|
||||
*iran = 0;
|
||||
if (mm > 0) {
|
||||
r = exp(-G4double(xav));
|
||||
r = std::exp(-G4double(xav));
|
||||
ran1 = G4UniformRand();
|
||||
if (ran1 > r) {
|
||||
rr = r;
|
||||
for (i = 1; i <= mm; ++i) {
|
||||
++(*iran);
|
||||
if (i <= 5) {
|
||||
rrr = pow(xav, G4float(i)) / NFac(i);
|
||||
rrr = std::pow(xav, G4float(i)) / NFac(i);
|
||||
}
|
||||
// ** STIRLING' S FORMULA FOR LARGE NUMBERS
|
||||
if (i > 5) {
|
||||
rrr = exp(i * log(xav) -
|
||||
(i + G4float(.5)) * log(i * G4float(1.)) +
|
||||
rrr = std::exp(i * std::log(xav) -
|
||||
(i + G4float(.5)) * std::log(i * G4float(1.)) +
|
||||
i - G4float(.9189385));
|
||||
}
|
||||
rr += r * rrr;
|
||||
@@ -335,7 +336,7 @@ void G4KaonMinusAbsorption::Poisso(G4float xav, G4int *iran)
|
||||
}
|
||||
else {
|
||||
// ** FOR VERY SMALL XAV TRY IRAN=1,2,3
|
||||
p1 = xav * exp(-G4double(xav));
|
||||
p1 = xav * std::exp(-G4double(xav));
|
||||
p2 = xav * p1 / G4float(2.);
|
||||
p3 = xav * p2 / G4float(3.);
|
||||
ran = G4UniformRand();
|
||||
@@ -426,7 +427,7 @@ void G4KaonMinusAbsorption::KaonMinusAbsorption(G4int *nopt)
|
||||
pv[1].SetParticleDef( result.GetParticleDef() );
|
||||
if (targetAtomicMass <= G4float(1.5)) {
|
||||
ran = G4UniformRand();
|
||||
tof1 = log(ran) * G4float(-12.5);
|
||||
tof1 = std::log(ran) * G4float(-12.5);
|
||||
tof1 *= G4float(20.);
|
||||
ran = G4UniformRand();
|
||||
isw = 1;
|
||||
@@ -453,7 +454,7 @@ void G4KaonMinusAbsorption::KaonMinusAbsorption(G4int *nopt)
|
||||
pcm = G4float(0.);
|
||||
}
|
||||
pv[2].SetZero();
|
||||
pv[2].SetEnergy( sqrt(pcm + massPionZero * massPionZero) );
|
||||
pv[2].SetEnergy( std::sqrt(pcm + massPionZero * massPionZero) );
|
||||
pv[2].SetMassAndUpdate( massPionZero );
|
||||
pv[2].SetTOF( result.GetTOF() + tof1 );
|
||||
pv[2].SetParticleDef( pdefPionZero );
|
||||
@@ -471,7 +472,7 @@ void G4KaonMinusAbsorption::KaonMinusAbsorption(G4int *nopt)
|
||||
evapEnergy3 = G4float(.15);
|
||||
nt = 1;
|
||||
tex = evapEnergy1;
|
||||
black = log(targetAtomicMass) * G4float(.5);
|
||||
black = std::log(targetAtomicMass) * G4float(.5);
|
||||
Poisso(black, &nbl);
|
||||
if (nt + nbl > (MAX_SECONDARIES - 2)) {
|
||||
nbl = (MAX_SECONDARIES - 2) - nt;
|
||||
@@ -486,7 +487,7 @@ void G4KaonMinusAbsorption::KaonMinusAbsorption(G4int *nopt)
|
||||
continue;
|
||||
}
|
||||
ran2 = G4UniformRand();
|
||||
ekin1 = -G4double(ekin) * log(ran2);
|
||||
ekin1 = -G4double(ekin) * std::log(ran2);
|
||||
ekin2 += ekin1;
|
||||
ipa1 = pdefNeutron;
|
||||
pnrat = G4float(1.) - targetCharge / targetAtomicMass;
|
||||
@@ -504,7 +505,7 @@ void G4KaonMinusAbsorption::KaonMinusAbsorption(G4int *nopt)
|
||||
}
|
||||
}
|
||||
tex = evapEnergy3;
|
||||
black = log(targetAtomicMass) * G4float(.5);
|
||||
black = std::log(targetAtomicMass) * G4float(.5);
|
||||
Poisso(black, &nbl);
|
||||
if (nt + nbl > (MAX_SECONDARIES - 2)) {
|
||||
nbl = (MAX_SECONDARIES - 2) - nt;
|
||||
@@ -519,7 +520,7 @@ void G4KaonMinusAbsorption::KaonMinusAbsorption(G4int *nopt)
|
||||
continue;
|
||||
}
|
||||
ran2 = G4UniformRand();
|
||||
ekin1 = -G4double(ekin) * log(ran2);
|
||||
ekin1 = -G4double(ekin) * std::log(ran2);
|
||||
ekin2 += ekin1;
|
||||
++nt;
|
||||
ran = G4UniformRand();
|
||||
@@ -544,7 +545,7 @@ void G4KaonMinusAbsorption::KaonMinusAbsorption(G4int *nopt)
|
||||
// ** STORE ON EVENT COMMON
|
||||
// **
|
||||
ran = G4UniformRand();
|
||||
tof1 = log(ran) * G4float(-12.5);
|
||||
tof1 = std::log(ran) * G4float(-12.5);
|
||||
tof1 *= G4float(20.);
|
||||
for (i = 2; i <= nt; ++i) {
|
||||
pv[i].SetTOF( result.GetTOF() + tof1 );
|
||||
|
||||
@@ -254,7 +254,7 @@ G4VParticleChange* G4KaonMinusAbsorptionAtRest::AtRestDoIt
|
||||
if (fragmentationProducts != 0) delete fragmentationProducts;
|
||||
|
||||
// finally ...
|
||||
aParticleChange.SetStatusChange(fStopAndKill); // Kill the incident Kaon
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill); // Kill the incident Kaon
|
||||
return &aParticleChange;
|
||||
}
|
||||
|
||||
|
||||
@@ -124,10 +124,10 @@ G4ThreeVector G4MuMinusCaptureCascade::GetRandomVec()
|
||||
//
|
||||
|
||||
G4double cosTheta = 2.0 * G4UniformRand() - 1.0;
|
||||
G4double sinTheta = sqrt(1.0 - cosTheta*cosTheta);
|
||||
G4double sinTheta = std::sqrt(1.0 - cosTheta*cosTheta);
|
||||
G4double Phi = twopi * G4UniformRand();
|
||||
G4double dirx = sinTheta * cos(Phi);
|
||||
G4double diry = sinTheta * sin(Phi);
|
||||
G4double dirx = sinTheta * std::cos(Phi);
|
||||
G4double diry = sinTheta * std::sin(Phi);
|
||||
G4double dirz = cosTheta;
|
||||
|
||||
return G4ThreeVector(dirx, diry, dirz);
|
||||
@@ -179,7 +179,7 @@ G4int G4MuMinusCaptureCascade::DoCascade(const G4double Z, const G4double massA,
|
||||
G4double pGamma = Z*Z*Z*Z;
|
||||
|
||||
// Capture on 14-th level
|
||||
G4double ptot = sqrt(EnergyLevel[13]*(EnergyLevel[13] + 2.0*Emass));
|
||||
G4double ptot = std::sqrt(EnergyLevel[13]*(EnergyLevel[13] + 2.0*Emass));
|
||||
G4ThreeVector moment = ptot * GetRandomVec();
|
||||
|
||||
AddNewParticle(theElectron,moment,Emass,&nPart,Cascade);
|
||||
@@ -195,7 +195,7 @@ G4int G4MuMinusCaptureCascade::DoCascade(const G4double Z, const G4double massA,
|
||||
DeltaE = EnergyLevel[nLevel-1] - EnergyLevel[nLevel];
|
||||
nLevel--;
|
||||
|
||||
ptot = sqrt(DeltaE * (DeltaE + 2.0*Emass));
|
||||
ptot = std::sqrt(DeltaE * (DeltaE + 2.0*Emass));
|
||||
moment = ptot * GetRandomVec();
|
||||
|
||||
AddNewParticle(theElectron, moment, Emass, &nPart, Cascade);
|
||||
@@ -243,17 +243,17 @@ void G4MuMinusCaptureCascade::DoBoundMuonMinusDecay(G4double Z, G4double /* mass
|
||||
//
|
||||
// generate uniform vector
|
||||
//
|
||||
G4double ptot = sqrt(Energy * (Energy + 2.0*Emass));
|
||||
G4double ptot = std::sqrt(Energy * (Energy + 2.0*Emass));
|
||||
G4ThreeVector moment = ptot * GetRandomVec();
|
||||
|
||||
AddNewParticle(theElectron, moment, Emass, nCascade, Cascade);
|
||||
|
||||
// Calculate rest frame parameters of 2 neutrinos
|
||||
G4double E = MuMass*( 1.0 - x*0.5 );
|
||||
G4double P = sqrt( MuMass*MuMass*x*x*0.25 - Emass*Emass );
|
||||
G4double P = std::sqrt( MuMass*MuMass*x*x*0.25 - Emass*Emass );
|
||||
|
||||
if(P >= E) {P = E;}
|
||||
G4double ecm = 0.5 * sqrt( E*E - P*P );
|
||||
G4double ecm = 0.5 * std::sqrt( E*E - P*P );
|
||||
|
||||
//
|
||||
// generate uniform vector
|
||||
|
||||
@@ -159,7 +159,7 @@ AtRestDoIt(const G4Track& track,const G4Step&)
|
||||
|
||||
// === Throw for capture time.
|
||||
|
||||
G4double tDelay = -log(G4UniformRand()) / lambda;
|
||||
G4double tDelay = -std::log(G4UniformRand()) / lambda;
|
||||
|
||||
G4ReactionProductVector * captureResult=0;
|
||||
G4int nEmSecondaries = nCascade;
|
||||
@@ -193,6 +193,7 @@ AtRestDoIt(const G4Track& track,const G4Step&)
|
||||
aNewParticle->SetMomentum(itV.vect());
|
||||
G4double localtime = globalTime + tDelay + aParticle->GetTOF();
|
||||
G4Track* aNewTrack = new G4Track( aNewParticle, localtime, position);
|
||||
aNewTrack->SetTouchableHandle(track.GetTouchableHandle());
|
||||
aParticleChange.AddSecondary( aNewTrack );
|
||||
}
|
||||
}
|
||||
@@ -211,14 +212,15 @@ AtRestDoIt(const G4Track& track,const G4Step&)
|
||||
aNewParticle->SetMomentum( Cascade[isec].GetMomentum() );
|
||||
|
||||
G4Track* aNewTrack = new G4Track( aNewParticle, localtime, position );
|
||||
aNewTrack->SetTouchableHandle(track.GetTouchableHandle());
|
||||
aParticleChange.AddSecondary( aNewTrack );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
aParticleChange.SetLocalEnergyDeposit(0.0);
|
||||
aParticleChange.ProposeLocalEnergyDeposit(0.0);
|
||||
|
||||
aParticleChange.SetStatusChange(fStopAndKill); // Kill the incident MuonMinus
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill); // Kill the incident MuonMinus
|
||||
|
||||
// clear InteractionLengthLeft
|
||||
|
||||
@@ -302,7 +304,7 @@ G4ReactionProductVector * G4MuonMinusCaptureAtRest::DoMuCapture(G4double aMuKine
|
||||
|
||||
// Gett the nu momentum in the CMS
|
||||
G4double aNMass = G4Proton::ProtonDefinition()->GetPDGMass()/2.;
|
||||
G4LorentzVector theNeutronMom(sqrt(aNMass*aNMass+fermiMom.mag2()), fermiMom);
|
||||
G4LorentzVector theNeutronMom(std::sqrt(aNMass*aNMass+fermiMom.mag2()), fermiMom);
|
||||
G4LorentzVector theCMS = theNeutronMom+aMuMom;
|
||||
G4double p1 = (theCMS.mag()*theCMS.mag()-aNMass*aNMass)/(2.*theCMS.mag());
|
||||
G4LorentzRotation toCMS = theCMS.boostVector();
|
||||
@@ -311,9 +313,9 @@ G4ReactionProductVector * G4MuonMinusCaptureAtRest::DoMuCapture(G4double aMuKine
|
||||
// make the nu, and transform to lab;
|
||||
G4double cosTh = G4UniformRand();
|
||||
G4double phi = twopi*G4UniformRand();
|
||||
G4double theta = acos(cosTh);
|
||||
G4double sinth = sin(theta);
|
||||
G4ThreeVector randUnit(sinth*cos(phi), sinth*sin(phi), cos(theta) );
|
||||
G4double theta = std::acos(cosTh);
|
||||
G4double sinth = std::sin(theta);
|
||||
G4ThreeVector randUnit(sinth*std::cos(phi), sinth*std::sin(phi), std::cos(theta) );
|
||||
G4LorentzVector finNuMom(p1, p1*randUnit);
|
||||
|
||||
// make the neutrino an mu-neutrino with the above momentum and get the residual properties
|
||||
@@ -335,7 +337,7 @@ G4ReactionProductVector * G4MuonMinusCaptureAtRest::DoMuCapture(G4double aMuKine
|
||||
eRest = targetMass+availableEnergy-residualMass-finNuMom.t();
|
||||
|
||||
// Call pre-compound on the rest.
|
||||
eEx = sqrt( (residualMass+eRest)*(residualMass+eRest) - pResInCMS.mag2() ) - residualMass;
|
||||
eEx = std::sqrt( (residualMass+eRest)*(residualMass+eRest) - pResInCMS.mag2() ) - residualMass;
|
||||
}
|
||||
while(eEx<=0);
|
||||
G4LorentzVector resV(residualMass+eRest, pResInCMS);
|
||||
|
||||
@@ -197,13 +197,14 @@ G4VParticleChange* G4NeutronCaptureAtRest::AtRestDoIt(
|
||||
localtime = globalTime + gkin[isec].GetTOF();
|
||||
|
||||
G4Track* aNewTrack = new G4Track( aNewParticle, localtime*s, position );
|
||||
aNewTrack->SetTouchableHandle(track.GetTouchableHandle());
|
||||
aParticleChange.AddSecondary( aNewTrack );
|
||||
|
||||
}
|
||||
|
||||
aParticleChange.SetLocalEnergyDeposit( 0.0*GeV );
|
||||
aParticleChange.ProposeLocalEnergyDeposit( 0.0*GeV );
|
||||
|
||||
aParticleChange.SetStatusChange(fStopAndKill); // Kill the incident Neutron
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill); // Kill the incident Neutron
|
||||
|
||||
// clear InteractionLengthLeft
|
||||
|
||||
@@ -317,7 +318,7 @@ void G4NeutronCaptureAtRest::NeutronCapture(G4int *nopt)
|
||||
Normal(&ran);
|
||||
pcm = ran * G4float(.001) + G4float(.0065);
|
||||
ran = G4UniformRand();
|
||||
result.SetTOF( result.GetTOF() - log(ran) * G4float(480.) );
|
||||
result.SetTOF( result.GetTOF() - std::log(ran) * G4float(480.) );
|
||||
pv[3].SetZero();
|
||||
pv[3].SetMass( 0. );
|
||||
pv[3].SetKineticEnergyAndUpdate( pcm );
|
||||
@@ -406,12 +407,12 @@ G4double G4NeutronCaptureAtRest::AtomAs(G4float a, G4float z)
|
||||
d__1 = aa / G4float(2.) - zz;
|
||||
d__2 = zz;
|
||||
mass = (aa - zz) * rmn + zz * rmp + zz * rmel - aa * G4float(15.67) +
|
||||
pow(aa, .6666667) * G4float(17.23) + d__1 * d__1 * G4float(93.15) / aa +
|
||||
d__2 * d__2 * G4float(.6984523) / pow(aa, .3333333);
|
||||
std::pow(aa, .6666667) * G4float(17.23) + d__1 * d__1 * G4float(93.15) / aa +
|
||||
d__2 * d__2 * G4float(.6984523) / std::pow(aa, .3333333);
|
||||
ipp = (ia - iz) % 2;
|
||||
izz = iz % 2;
|
||||
if (ipp == izz) {
|
||||
mass += (ipp + izz - 1) * G4float(12.) * pow(aa, -.5);
|
||||
mass += (ipp + izz - 1) * G4float(12.) * std::pow(aa, -.5);
|
||||
}
|
||||
}
|
||||
ret_val = mass * G4float(.001);
|
||||
|
||||
@@ -185,10 +185,10 @@ G4VParticleChange* G4PiMinusAbsorptionAtRest::AtRestDoIt(const G4Track& track, c
|
||||
|
||||
if (fragmentationProducts != 0) delete fragmentationProducts;
|
||||
|
||||
if (_indexDeexcitation == 1) aParticleChange.SetLocalEnergyDeposit(excitation);
|
||||
if (_indexDeexcitation == 1) aParticleChange.ProposeLocalEnergyDeposit(excitation);
|
||||
|
||||
// Kill the absorbed pion
|
||||
aParticleChange.SetStatusChange(fStopAndKill);
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill);
|
||||
|
||||
return &aParticleChange;
|
||||
|
||||
|
||||
@@ -192,7 +192,7 @@ G4double G4PiMinusStopAbsorption::Energy()
|
||||
G4double productBinding = (G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(_nucleusZ),static_cast<G4int>(_nucleusA)) / _nucleusA) * nAbsorptionProducts;
|
||||
G4double mass = G4NucleiProperties::GetNuclearMass(_nucleusA - (nP + nN),_nucleusZ - nP);
|
||||
G4double pNucleus = pProducts.mag();
|
||||
G4double eNucleus = sqrt(pNucleus*pNucleus + mass*mass);
|
||||
G4double eNucleus = std::sqrt(pNucleus*pNucleus + mass*mass);
|
||||
G4double tNucleus = eNucleus - mass;
|
||||
G4double temp = G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(_nucleusZ - nP),static_cast<G4int>(_nucleusA - (nP + nN))) -
|
||||
G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(_nucleusZ),static_cast<G4int>(_nucleusA));
|
||||
|
||||
@@ -129,7 +129,7 @@ std::vector<G4LorentzVector*>* G4PiMinusStopMaterial::P4Vector(const G4double bi
|
||||
eKin1 = _distributionE->Generate(ranflat);
|
||||
mass = (*_definitions)[0]->GetPDGMass();
|
||||
energy = eKin1 + mass;
|
||||
p = sqrt(energy*energy - mass*mass);
|
||||
p = std::sqrt(energy*energy - mass*mass);
|
||||
G4double theta1 = pi*G4UniformRand();
|
||||
G4double phi1 = GenerateAngle(2.*pi);
|
||||
p1 = MakeP4(p,theta1,phi1,energy);
|
||||
@@ -138,7 +138,7 @@ std::vector<G4LorentzVector*>* G4PiMinusStopMaterial::P4Vector(const G4double bi
|
||||
eKin2 = _distributionE->Generate(ranflat);
|
||||
mass = (*_definitions)[1]->GetPDGMass();
|
||||
energy = eKin2 + mass;
|
||||
p = sqrt(energy*energy - mass*mass);
|
||||
p = std::sqrt(energy*energy - mass*mass);
|
||||
ranflat = G4UniformRand();
|
||||
G4double opAngle = _distributionAngle->Generate(ranflat);
|
||||
G4double theta2 = theta1 + opAngle;
|
||||
@@ -147,7 +147,7 @@ std::vector<G4LorentzVector*>* G4PiMinusStopMaterial::P4Vector(const G4double bi
|
||||
p2 = MakeP4(p,theta2,phi2,energy);
|
||||
|
||||
G4double pNucleus = (p1.vect() + p2.vect()).mag();
|
||||
eRecoil = sqrt(pNucleus*pNucleus + massNucleus*massNucleus) - massNucleus;
|
||||
eRecoil = std::sqrt(pNucleus*pNucleus + massNucleus*massNucleus) - massNucleus;
|
||||
|
||||
// ---- Debug
|
||||
// G4cout << " ---- binding = " << binding << ", nucleus mass = " << massNucleus
|
||||
@@ -175,9 +175,9 @@ G4double G4PiMinusStopMaterial::GenerateAngle(G4double x)
|
||||
G4LorentzVector G4PiMinusStopMaterial::MakeP4(G4double p, G4double theta, G4double phi, G4double e)
|
||||
{
|
||||
// G4LorentzVector p4;
|
||||
G4double px = p * sin(theta) * cos(phi);
|
||||
G4double py = p * sin(theta) * sin(phi);
|
||||
G4double pz = p * cos(theta);
|
||||
G4double px = p * std::sin(theta) * std::cos(phi);
|
||||
G4double py = p * std::sin(theta) * std::sin(phi);
|
||||
G4double pz = p * std::cos(theta);
|
||||
G4LorentzVector p4(px,py,pz,e);
|
||||
return p4;
|
||||
}
|
||||
@@ -191,7 +191,7 @@ G4double G4PiMinusStopMaterial::RecoilEnergy(const G4double mass)
|
||||
p = p + (*_momenta)[i]->vect();
|
||||
}
|
||||
G4double pNucleus = p.mag();
|
||||
G4double eNucleus = sqrt(pNucleus*pNucleus + mass*mass);
|
||||
G4double eNucleus = std::sqrt(pNucleus*pNucleus + mass*mass);
|
||||
|
||||
return eNucleus;
|
||||
}
|
||||
|
||||
@@ -199,13 +199,14 @@ G4VParticleChange* G4PionMinusAbsorptionAtRest::AtRestDoIt(
|
||||
localtime = globalTime + gkin[isec].GetTOF();
|
||||
|
||||
G4Track* aNewTrack = new G4Track( aNewParticle, localtime*s, position );
|
||||
aNewTrack->SetTouchableHandle(track.GetTouchableHandle());
|
||||
aParticleChange.AddSecondary( aNewTrack );
|
||||
|
||||
}
|
||||
|
||||
aParticleChange.SetLocalEnergyDeposit( 0.0*GeV );
|
||||
aParticleChange.ProposeLocalEnergyDeposit( 0.0*GeV );
|
||||
|
||||
aParticleChange.SetStatusChange(fStopAndKill); // Kill the incident PionMinus
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill); // Kill the incident PionMinus
|
||||
|
||||
// clear InteractionLengthLeft
|
||||
|
||||
@@ -315,7 +316,7 @@ void G4PionMinusAbsorptionAtRest::PionMinusAbsorption(G4int *nopt)
|
||||
}
|
||||
*nopt = isw;
|
||||
ran = G4UniformRand();
|
||||
tof1 = log(ran) * G4float(-25.);
|
||||
tof1 = std::log(ran) * G4float(-25.);
|
||||
tof1 *= G4float(20.);
|
||||
if (isw != 1) {
|
||||
pv[2].SetZero();
|
||||
@@ -339,7 +340,7 @@ void G4PionMinusAbsorptionAtRest::PionMinusAbsorption(G4int *nopt)
|
||||
evapEnergy3 = G4float(.0058);
|
||||
nt = 1;
|
||||
tex = evapEnergy1;
|
||||
black = log(targetAtomicMass) * G4float(.5);
|
||||
black = std::log(targetAtomicMass) * G4float(.5);
|
||||
Poisso(black, &nbl);
|
||||
if (nbl <= 0) {
|
||||
nbl = 1;
|
||||
@@ -354,7 +355,7 @@ void G4PionMinusAbsorptionAtRest::PionMinusAbsorption(G4int *nopt)
|
||||
continue;
|
||||
}
|
||||
ran2 = G4UniformRand();
|
||||
ekin1 = -G4double(ekin) * log(ran2);
|
||||
ekin1 = -G4double(ekin) * std::log(ran2);
|
||||
ekin2 += ekin1;
|
||||
ipa1 = pdefNeutron;
|
||||
pnrat = G4float(1.) - targetCharge / targetAtomicMass;
|
||||
@@ -372,7 +373,7 @@ void G4PionMinusAbsorptionAtRest::PionMinusAbsorption(G4int *nopt)
|
||||
}
|
||||
}
|
||||
tex = evapEnergy3;
|
||||
black = log(targetAtomicMass) * G4float(.5);
|
||||
black = std::log(targetAtomicMass) * G4float(.5);
|
||||
Poisso(black, &nbl);
|
||||
if (nt + nbl > (MAX_SECONDARIES - 2)) {
|
||||
nbl = (MAX_SECONDARIES - 2) - nt;
|
||||
@@ -387,7 +388,7 @@ void G4PionMinusAbsorptionAtRest::PionMinusAbsorption(G4int *nopt)
|
||||
continue;
|
||||
}
|
||||
ran2 = G4UniformRand();
|
||||
ekin1 = -G4double(ekin) * log(ran2);
|
||||
ekin1 = -G4double(ekin) * std::log(ran2);
|
||||
ekin2 += ekin1;
|
||||
++nt;
|
||||
ran = G4UniformRand();
|
||||
@@ -411,7 +412,7 @@ void G4PionMinusAbsorptionAtRest::PionMinusAbsorption(G4int *nopt)
|
||||
// ** STORE ON EVENT COMMON
|
||||
// **
|
||||
ran = G4UniformRand();
|
||||
tof1 = log(ran) * G4float(-25.);
|
||||
tof1 = std::log(ran) * G4float(-25.);
|
||||
tof1 *= G4float(20.);
|
||||
for (i = 2; i <= nt; ++i) {
|
||||
pv[i].SetTOF( result.GetTOF() + tof1 );
|
||||
@@ -443,7 +444,7 @@ void G4PionMinusAbsorptionAtRest::Poisso(G4float xav, G4int *iran)
|
||||
if (xav > G4float(9.9)) {
|
||||
// ** NORMAL DISTRIBUTION WITH SIGMA**2 = <X>
|
||||
Normal(&ran1);
|
||||
ran1 = xav + ran1 * sqrt(xav);
|
||||
ran1 = xav + ran1 * std::sqrt(xav);
|
||||
*iran = G4int(ran1);
|
||||
if (*iran < 0) {
|
||||
*iran = 0;
|
||||
@@ -453,19 +454,19 @@ void G4PionMinusAbsorptionAtRest::Poisso(G4float xav, G4int *iran)
|
||||
mm = G4int(xav * G4float(5.));
|
||||
*iran = 0;
|
||||
if (mm > 0) {
|
||||
r = exp(-G4double(xav));
|
||||
r = std::exp(-G4double(xav));
|
||||
ran1 = G4UniformRand();
|
||||
if (ran1 > r) {
|
||||
rr = r;
|
||||
for (i = 1; i <= mm; ++i) {
|
||||
++(*iran);
|
||||
if (i <= 5) {
|
||||
rrr = pow(xav, G4float(i)) / NFac(i);
|
||||
rrr = std::pow(xav, G4float(i)) / NFac(i);
|
||||
}
|
||||
// ** STIRLING' S FORMULA FOR LARGE NUMBERS
|
||||
if (i > 5) {
|
||||
rrr = exp(i * log(xav) -
|
||||
(i + G4float(.5)) * log(i * G4float(1.)) +
|
||||
rrr = std::exp(i * std::log(xav) -
|
||||
(i + G4float(.5)) * std::log(i * G4float(1.)) +
|
||||
i - G4float(.9189385));
|
||||
}
|
||||
rr += r * rrr;
|
||||
@@ -477,7 +478,7 @@ void G4PionMinusAbsorptionAtRest::Poisso(G4float xav, G4int *iran)
|
||||
}
|
||||
else {
|
||||
// ** FOR VERY SMALL XAV TRY IRAN=1,2,3
|
||||
p1 = xav * exp(-G4double(xav));
|
||||
p1 = xav * std::exp(-G4double(xav));
|
||||
p2 = xav * p1 / G4float(2.);
|
||||
p3 = xav * p2 / G4float(3.);
|
||||
ran = G4UniformRand();
|
||||
|
||||
@@ -195,7 +195,7 @@ G4double G4StopElementSelector::GetMuonCaptureRate(G4double Z, G4double A)
|
||||
r2 = 1.0 - xmu;
|
||||
lambda = t1 * zeff2 * zeff2 * (r2 * r2) * (1.0 - (1.0 - xmu) * .75704) *
|
||||
(a2ze * b0a + 1.0 - (a2ze - 1.0) * b0b -
|
||||
(2.0 * (A - Z) / Z + abs(a2ze - 1.) ) * b0c / (A * 4.) );
|
||||
(2.0 * (A - Z) / Z + std::abs(a2ze - 1.) ) * b0c / (A * 4.) );
|
||||
|
||||
// == Mu capture data are taken if exist
|
||||
for (unsigned int j = 0; j < ListZE; j++) {
|
||||
|
||||
@@ -80,7 +80,7 @@ G4ReactionProductVector* G4StopTheoDeexcitation::BreakUp(G4double A, G4double Z,
|
||||
G4double atomicMass = G4NucleiPropertiesTable::GetAtomicMass(static_cast<G4int>(Z),static_cast<G4int>(A));
|
||||
G4double m = atomicMass + excitation;
|
||||
G4double pMag = p.mag();
|
||||
G4LorentzVector initialMomentum(p.x(),p.y(),p.z(),sqrt(pMag*pMag + m*m));
|
||||
G4LorentzVector initialMomentum(p.x(),p.y(),p.z(),std::sqrt(pMag*pMag + m*m));
|
||||
G4Fragment theExcitedNucleus(static_cast<G4int>(A),static_cast<G4int>(Z),initialMomentum);
|
||||
|
||||
// theExcitedNucleus.SetA(A);
|
||||
|
||||
Reference in New Issue
Block a user