Import Geant4 6.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:49:58 +02:00
parent 96686e0c8f
commit 1d812b78b1
4545 changed files with 24433 additions and 175005 deletions
@@ -22,7 +22,7 @@
//
//
// $Id: G4DiffractiveSplitableHadron.cc,v 1.3 2003/11/03 17:54:53 hpw Exp $
// GEANT4 tag $Name: geant4-06-00 $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
// ------------------------------------------------------------
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FTFModel.cc,v 1.3 2003/11/03 17:54:53 hpw Exp $
// GEANT4 tag $Name: geant4-06-00 $
// $Id: G4FTFModel.cc,v 1.4 2003/12/11 10:50:49 gunter Exp $
// GEANT4 tag $Name: geant4-06-01 $
//
// ------------------------------------------------------------
@@ -164,6 +164,25 @@ G4bool G4FTFModel::ExciteParticipants()
G4VSplitableHadron * target=collision.GetTarget();
if ( ! theExcitation->ExciteParticipants(projectile, target) )
{
// give up, clean up
std::vector<G4VSplitableHadron *> primaries;
std::vector<G4VSplitableHadron *> targets;
theParticipants.StartLoop(); // restart a loop
while ( theParticipants.Next() )
{
const G4InteractionContent & interaction=theParticipants.GetInteraction();
// do not allow for duplicates ...
if ( primaries.end() == std::find(primaries.begin(), primaries.end(), interaction.GetProjectile()) )
primaries.push_back(interaction.GetProjectile());
if ( targets.end() == std::find(targets.begin(), targets.end(),interaction.GetTarget()) )
targets.push_back(interaction.GetTarget());
}
std::for_each(primaries.begin(), primaries.end(), DeleteVSplitableHadron());
primaries.clear();
std::for_each(targets.begin(), targets.end(), DeleteVSplitableHadron());
targets.clear();
return false;
}
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FTFParticipants.cc,v 1.2 2003/10/08 13:48:47 hpw Exp $
// GEANT4 tag $Name: geant4-06-00 $
// $Id: G4FTFParticipants.cc,v 1.3 2003/12/11 11:54:31 hpw Exp $
// GEANT4 tag $Name: geant4-06-01 $
//
// ------------------------------------------------------------
// GEANT 4 class implementation file
@@ -37,7 +37,7 @@
#include "G4VSplitableHadron.hh"
#include "G4PomeronCrossSection.hh"
#include "Randomize.hh"
#include "G4Pair.hh"
#include <utility>
// Class G4FTFParticipants
@@ -104,7 +104,7 @@ void G4FTFParticipants::BuildInteractions(const G4ReactionProduct &thePrimary)
while ( theInteractions.size() == 0 )
{
G4Pair<G4double, G4double> theImpactParameter;
std::pair<G4double, G4double> theImpactParameter;
theImpactParameter = theNucleus->ChooseImpactXandY(xyradius);
G4double impactX = theImpactParameter.first;
G4double impactY = theImpactParameter.second;