Import Geant4 5.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:15:15 +02:00
parent 37fff30d2e
commit fbd4999cf7
4396 changed files with 56662 additions and 52446 deletions
@@ -142,8 +142,8 @@
else
{
G4double e1, e2;
e1 = theAngular[it].GetLabel();
e2 = theAngular[it-1].GetLabel();
e1 = theAngular[it-1].GetLabel();
e2 = theAngular[it].GetLabel();
fsEnergy = theInt.Interpolate(theManager.GetInverseScheme(it),
random,
running[it-1]/running[nEnergies-1],
@@ -25,6 +25,8 @@
// A prototype of the low energy neutron transport model.
//
#include "G4NeutronHPEnAngCorrelation.hh"
#include "G4LorentzRotation.hh"
#include "G4LorentzVector.hh"
G4ReactionProduct * G4NeutronHPEnAngCorrelation::SampleOne(G4double anEnergy)
{
@@ -57,6 +59,7 @@ G4ReactionProductVector * G4NeutronHPEnAngCorrelation::Sample(G4double anEnergy)
G4int i;
G4ReactionProductVector * it;
G4ReactionProduct theCMS;
G4LorentzRotation toZ;
if(frameFlag==2)
{
// simplify and double check @
@@ -74,8 +77,14 @@ G4ReactionProductVector * G4NeutronHPEnAngCorrelation::Sample(G4double anEnergy)
G4ReactionProduct aNeutron;
aNeutron.Lorentz(theNeutron, theCMS);
anEnergy = aNeutron.GetKineticEnergy();
G4LorentzVector Ptmp (aNeutron.GetMomentum(), aNeutron.GetTotalEnergy());
toZ.rotateZ(-1*Ptmp.phi());
toZ.rotateY(-1*Ptmp.theta());
}
theTotalMeanEnergy=0;
G4LorentzRotation toLab(toZ.inverse());
for(i=0; i<nProducts; i++)
{
it = theProducts[i].Sample(anEnergy);
@@ -92,6 +101,11 @@ G4ReactionProductVector * G4NeutronHPEnAngCorrelation::Sample(G4double anEnergy)
{
for(unsigned int ii=0; ii<it->size(); ii++)
{
G4LorentzVector pTmp1 (it->operator[](ii)->GetMomentum(),
it->operator[](ii)->GetTotalEnergy());
pTmp1 = toLab*pTmp1;
it->operator[](ii)->SetMomentum(pTmp1.vect());
it->operator[](ii)->SetTotalEnergy(pTmp1.e());
if(frameFlag==1) // target rest
{
it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*theTarget);
@@ -32,6 +32,7 @@
#include "G4Triton.hh"
#include "G4Alpha.hh"
#include "G4ThreeVector.hh"
#include "G4Poisson.hh"
#include "G4LorentzVector.hh"
#include "G4NeutronHPDataUsed.hh"
@@ -155,14 +156,14 @@ void G4NeutronHPFSFissionFS::SampleNeutronMult(G4int&all, G4int&Prompt, G4int&de
Prompt = 0;
delayed = 0;
G4double totalNeutronMulti = theFinalStateNeutrons.GetMean(eKinetic);
all = RandPoisson::shoot(totalNeutronMulti-off);
all = G4Poisson(totalNeutronMulti-off);
all += off;
}
else
{
Prompt = RandPoisson::shoot(promptNeutronMulti-off);
Prompt = G4Poisson(promptNeutronMulti-off);
Prompt += off;
delayed = RandPoisson::shoot(delayedNeutronMulti);
delayed = G4Poisson(delayedNeutronMulti);
all = Prompt+delayed;
}
}
@@ -30,7 +30,7 @@
// and all its terms.
//
// $Id: G4NeutronHPInelastic.cc,v 1.13 2002/12/12 19:18:25 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#include "G4NeutronHPInelastic.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4NeutronHPNBodyPhaseSpace.cc,v 1.8 2002/12/12 19:18:27 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#include "G4NeutronHPNBodyPhaseSpace.hh"
#include "G4Gamma.hh"
@@ -29,6 +29,7 @@
#include "G4NeutronHPPhotonDist.hh"
#include "G4NeutronHPLegendreStore.hh"
#include "G4Electron.hh"
#include "G4Poisson.hh"
G4bool G4NeutronHPPhotonDist::InitMean(G4std::ifstream & aDataFile)
{
@@ -207,7 +208,7 @@ G4ReactionProductVector * G4NeutronHPPhotonDist::GetPhotons(G4double anEnergy)
for(i=0; i<nDiscrete; i++)
{
current = theYield[i].GetY(anEnergy);
actualMult[i] = RandPoisson::shoot(current); // max cut-off still missing @@@
actualMult[i] = G4Poisson(current); // max cut-off still missing @@@
if(nDiscrete==1&&current<1.0001)
{
actualMult[i] = static_cast<G4int>(current);
@@ -342,7 +343,7 @@ G4ReactionProductVector * G4NeutronHPPhotonDist::GetPhotons(G4double anEnergy)
G4int i;
for(i=1; i<nGammaEnergies; i++)
{
running[i]+=theTransitionProbabilities[i];
running[i]=running[i-1]+theTransitionProbabilities[i];
}
G4double random = G4UniformRand();
G4int it=0;
@@ -24,7 +24,7 @@
// J.P. Wellisch, Nov-1996
// A prototype of the low energy neutron transport model.
#include "G4NeutronHPProduct.hh"
#include "Randomize.hh"
#include "G4Poisson.hh"
#include "G4Proton.hh"
G4ReactionProductVector * G4NeutronHPProduct::Sample(G4double anEnergy)
@@ -34,7 +34,7 @@ G4ReactionProductVector * G4NeutronHPProduct::Sample(G4double anEnergy)
G4double mean = theYield.GetY(anEnergy);
G4int multi;
multi = G4int(mean+0.0001);
if(theMassCode==0) multi = RandPoisson::shoot(mean); // @@@@gammas. please X-check this
if(theMassCode==0) multi = G4Poisson(mean); // @@@@gammas. please X-check this
theDist->SetTarget(theTarget);
theDist->SetNeutron(theNeutron);
G4int i;