Import Geant4 8.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:07:44 +02:00
parent fe73f43734
commit 75c7fd177d
764 changed files with 45230 additions and 95238 deletions
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4FTFModel.cc,v 1.6 2006/06/29 20:54:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4FTFModel.cc,v 1.7 2007/04/24 10:32:59 gunter Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
// ------------------------------------------------------------
@@ -45,9 +45,12 @@
// Class G4FTFModel
G4FTFModel::G4FTFModel(G4double sigmaPt, G4double minExtraMass,G4double x0Mass)
:
theExcitation(new G4DiffractiveExcitation(sigmaPt,minExtraMass,x0Mass))
G4FTFModel::G4FTFModel():theExcitation(new G4DiffractiveExcitation()) // Uzhi
{
G4VPartonStringModel::SetThisPointer(this);
}
G4FTFModel::G4FTFModel(G4double a, G4double b, G4double c):theExcitation(new G4DiffractiveExcitation())
{
G4VPartonStringModel::SetThisPointer(this);
}
@@ -84,15 +87,15 @@ int G4FTFModel::operator!=(const G4FTFModel &right) const
void G4FTFModel::Init(const G4Nucleus & aNucleus, const G4DynamicParticle & aProjectile)
{
theParticipants.Init(aNucleus.GetN(),aNucleus.GetZ());
theParticipants.Init(aNucleus.GetN(),aNucleus.GetZ()); // Uzhi N-mass number Z-charge
theProjectile = aProjectile;
}
G4ExcitedStringVector * G4FTFModel::GetStrings()
{
theParticipants.BuildInteractions(theProjectile);
if (! ExciteParticipants()) return NULL;;
G4ExcitedStringVector * theStrings = BuildStrings();
@@ -153,18 +156,15 @@ G4ExcitedStringVector * G4FTFModel::BuildStrings()
G4bool G4FTFModel::ExciteParticipants()
{
// G4cout << "G4FTFModel::ExciteParticipants starting " << G4endl;
while (theParticipants.Next())
{
// G4cout << "next Collision " << G4endl;
{
const G4InteractionContent & collision=theParticipants.GetInteraction();
// G4cout << " soft colls : " << collision.GetNumberOfSoftCollisions() << G4endl;
//G4cout << " soft colls : " << collision.GetNumberOfSoftCollisions() << G4endl; // Uzhi no match
G4VSplitableHadron * projectile=collision.GetProjectile();
G4VSplitableHadron * target=collision.GetTarget();
if ( ! theExcitation->ExciteParticipants(projectile, target) )
{
// give up, clean up
@@ -192,5 +192,3 @@ G4bool G4FTFModel::ExciteParticipants()
}
return true;
}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4FTFParticipants.cc,v 1.6 2006/06/29 20:54:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4FTFParticipants.cc,v 1.7 2007/04/24 10:33:00 gunter Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
// ------------------------------------------------------------
// GEANT 4 class implementation file
@@ -33,12 +33,15 @@
// ---------------- G4FTFParticipants----------------
// by Gunter Folger, June 1998.
// class finding colliding particles in FTFPartonStringModel
// Changed in a part by V. Uzhinsky in oder to put in correcpondence
// with original FRITIOF mode. November - December 2006.
// ------------------------------------------------------------
#include "G4FTFParticipants.hh"
#include "G4DiffractiveSplitableHadron.hh"
#include "G4VSplitableHadron.hh"
#include "G4PomeronCrossSection.hh"
//#include "G4PomeronCrossSection.hh" // Uzhi
#include "G4FTFCrossSection.hh" // Uzhi
#include "Randomize.hh"
#include <utility>
@@ -58,7 +61,6 @@ G4FTFParticipants::G4FTFParticipants(const G4FTFParticipants &): G4VParticipants
G4FTFParticipants::~G4FTFParticipants()
{
// G4cout << "G4FTFParticipants::~G4FTFParticipants() called" << G4endl;
}
@@ -90,8 +92,8 @@ void G4FTFParticipants::BuildInteractions(const G4ReactionProduct &thePrimary)
// G4cout << " primary Mass (GeV): " << thePrimary.GetMass() /GeV << G4endl;
// G4cout << "cms std::sqrt(s) (GeV) = " << std::sqrt(s) / GeV << G4endl;
G4PomeronCrossSection theCrossSection(thePrimary.GetDefinition());
// G4PomeronCrossSection theCrossSection(thePrimary.GetDefinition()); // Uzhi
G4FTFCrossSection theCrossSection(thePrimary.GetDefinition(),s); // Uzhi
G4double deltaxy=2 * fermi;
@@ -101,8 +103,6 @@ void G4FTFParticipants::BuildInteractions(const G4ReactionProduct &thePrimary)
G4double xyradius;
xyradius =theNucleus->GetOuterRadius() + deltaxy;
// G4cout <<" G4FTFParticipants::StartLoop: xyradius " << xyradius << G4endl;
G4bool nucleusNeedsShift = true;
while ( theInteractions.size() == 0 )
@@ -112,15 +112,14 @@ void G4FTFParticipants::BuildInteractions(const G4ReactionProduct &thePrimary)
G4double impactX = theImpactParameter.first;
G4double impactY = theImpactParameter.second;
// G4cout << " impctX, impctY " << impactX/fermi << " "<<impactY/fermi << " fm" << G4endl;
theNucleus->StartLoop();
G4Nucleon * nucleon;
while ( (nucleon=theNucleus->GetNextNucleon()) )
{
G4double impact2= sqr(impactX - nucleon->GetPosition().x()) +
sqr(impactY - nucleon->GetPosition().y());
if ( theCrossSection.GetInelasticProbability(s,impact2)
// if ( theCrossSection.GetInelasticProbability(s,impact2) // Uzhi
if ( theCrossSection.GetInelasticProbability( impact2/fermi/fermi) // Uzhi
> G4UniformRand() )
{
if ( nucleusNeedsShift )
@@ -142,10 +141,10 @@ void G4FTFParticipants::BuildInteractions(const G4ReactionProduct &thePrimary)
}
}
// G4cout << "Number of Hit nucleons " << theInteractions.entries()
// G4cout << "Number of Hit nucleons " << theInteractions.size() // entries()
// << "\t" << impactX/fermi << "\t"<<impactY/fermi
// << "\t" << std::sqrt(sqr(impactX)+sqr(impactY))/fermi <<G4endl;
}
}