Import Geant4 5.1.0 source tree
This commit is contained in:
@@ -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&¤t<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;
|
||||
|
||||
Reference in New Issue
Block a user