Import Geant4 6.1.0 source tree
This commit is contained in:
+1
-1
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user