Import Geant4 8.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:36:02 +02:00
parent d93e1e39a9
commit 8a51e0bc40
5471 changed files with 99628 additions and 55248 deletions
@@ -0,0 +1,23 @@
-------------------------------------------------------------------
==========================================================
Geant4 - an Object-Oriented Toolkit for Physics Simulation
==========================================================
History file for hadronic/models/parton_string directory
--------------------------------------------------------
This file should be used to summarize modifications introduced in the
code and to keep track of all tags.
---------------------------------------------------------------
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
23 Nov 2005 Dennis Wright (hadr-prtn-V07-01-00)
-----------------------------------------------
- G. Folger fixed bug in hadronization/G4ExcitedStringDecay.cc
(tag had-hadronization-V07-01-00)
- D. Wright created History file for parton_string directory
@@ -22,7 +22,7 @@
//
//
// $Id: G4DiffractiveSplitableHadron.hh,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4DiffractiveSplitableHadron_h
@@ -22,7 +22,7 @@
//
//
// $Id: G4FTFModel.hh,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// Class Description
// Final state production code for hadron inelastic scattering above 20 GeV
@@ -22,7 +22,7 @@
//
//
// $Id: G4FTFParticipants.hh,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4FTFParticipants_h
@@ -22,7 +22,7 @@
//
//
// $Id: G4DiffractiveSplitableHadron.cc,v 1.5 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// ------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4FTFModel.cc,v 1.5 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// ------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4FTFParticipants.cc,v 1.5 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// ------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4ExcitedStringDecay.hh,v 1.4 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4ExcitedStringDecay_h
#define G4ExcitedStringDecay_h 1
@@ -22,7 +22,7 @@
//
//
// $Id: G4FragmentingString.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4FragmentingString_h
@@ -22,7 +22,7 @@
//
//
// $Id: G4HadronBuilder.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// -----------------------------------------------------------------------------
// GEANT 4 class header file
@@ -22,7 +22,7 @@
//
//
// $Id: G4LundStringFragmentation.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $ Maxim Komogorov
// GEANT4 tag $Name: geant4-08-00 $ Maxim Komogorov
//
// -----------------------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4QGSMFragmentation.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// -----------------------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4VKinkyStringDecay.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
// Maxim Komogorov
//
// -----------------------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4VLongitudinalStringDecay.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
// Maxim Komogorov
//
// -----------------------------------------------------------------------------
@@ -67,7 +67,7 @@ EnergyAndMomentumCorrector(G4KineticTrackVector* Output, G4LorentzVector& TotalC
G4LorentzVector SumMom;
G4double SumMass = 0;
G4double TotalCollisionMass = TotalCollisionMom.m();
if( !(SumMom<1) && !(SumMom>-1) )
if( !(TotalCollisionMass<1) && !(TotalCollisionMass>-1) )
{
std::cout << "TotalCollisionMomentum = "<<TotalCollisionMom<<G4endl;
throw G4HadronicException(__FILE__, __LINE__, "G4ExcitedStringDecay received nan mass...");
@@ -79,14 +79,17 @@ EnergyAndMomentumCorrector(G4KineticTrackVector* Output, G4LorentzVector& TotalC
SumMom += Output->operator[](cHadron)->Get4Momentum();
if( !(SumMom<1) && !(SumMom>-1) )
{
throw G4HadronicException(__FILE__, __LINE__, "G4ExcitedStringDecay generated nan momentum...");
throw G4HadronicException(__FILE__, __LINE__, "G4ExcitedStringDecay::EnergyAndMomentumCorrector() received nan momentum...");
}
SumMass += Output->operator[](cHadron)->GetDefinition()->GetPDGMass();
if( !(SumMom<1) && !(SumMom>-1) )
if( !(SumMass<1) && !(SumMass>-1) )
{
throw G4HadronicException(__FILE__, __LINE__, "G4ExcitedStringDecay generated nan mass...");
throw G4HadronicException(__FILE__, __LINE__, "G4ExcitedStringDecay::EnergyAndMomentumCorrector() received nan mass...");
}
}
// Cannot correct a single particle
if (Output->size() < 2) return FALSE;
if (SumMass > TotalCollisionMass) return FALSE;
SumMass = SumMom.m2();
if (SumMass < 0) return FALSE;
@@ -120,6 +123,12 @@ EnergyAndMomentumCorrector(G4KineticTrackVector* Output, G4LorentzVector& TotalC
success = true;
break;
}
#ifdef debug_G4ExcitedStringDecay
std::cout << "Scale-1=" << Scale -1
<< ", TotalCollisionMass=" << TotalCollisionMass
<< ", Sum=" << Sum
<< std::endl;
#endif
}
if(!success)
@@ -22,7 +22,7 @@
//
//
// $Id: G4HadronBuilder.cc,v 1.4 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// -----------------------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4LundStringFragmentation.cc,v 1.4 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// -----------------------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4QGSMFragmentation.cc,v 1.4 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// -----------------------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4VKinkyStringDecay.cc,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
// Maxim Komogorov
//
// -----------------------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4VLongitudinalStringDecay.cc,v 1.4 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// -----------------------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4EventGenerator.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4EventGenerator_h
#define G4EventGenerator_h 1
@@ -22,7 +22,7 @@
//
//
// $Id: G4InteractionCode.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4InteractionCode_h
#define G4InteractionCode_h 1
@@ -22,7 +22,7 @@
//
//
// $Id: G4InteractionContent.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4InteractionContent_h
@@ -24,7 +24,7 @@
#define G4PomeronCrossSection_h 1
//
// $Id: G4PomeronCrossSection.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#include "G4Proton.hh"
#include "G4Neutron.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4StringModel.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4StringModel_h
#define G4StringModel_h 1
@@ -22,7 +22,7 @@
//
//
// $Id: G4VParticipants.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4VParticipants_h
@@ -22,7 +22,7 @@
//
//
// $Id: G4VPartonStringModel.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4VPartonStringModel_h
#define G4VPartonStringModel_h 1
@@ -22,7 +22,7 @@
//
//
// $Id: G4VSplitableHadron.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4VSplitableHadron_h
@@ -22,7 +22,7 @@
//
//
// $Id: G4VStringFragmentation.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4VStringFragmentation_h
#define G4VStringFragmentation_h 1
@@ -22,7 +22,7 @@
//
//
// $Id: G4VertexCode.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef G4VertexCode_h
#define G4VertexCode_h 1
@@ -22,7 +22,7 @@
//
//
// $Id: G4EventGenerator.cc,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// G4EventGenerator
#include "G4EventGenerator.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4InteractionContent.cc,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// ------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4PomeronCrossSection.cc,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
#include "G4PomeronCrossSection.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4StringModel.cc,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// G4StringModel
#include "G4StringModel.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4VParticipants.cc,v 1.2 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// ------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4VPartonStringModel.cc,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//// ------------------------------------------------------------
// GEANT 4 class implementation file
@@ -22,7 +22,7 @@
//
//
// $Id: G4VSplitableHadron.cc,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// ------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4VStringFragmentation.cc,v 1.3 2005/06/04 13:47:01 jwellisc Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// G4VStringFragmentation
#include "G4VStringFragmentation.hh"
@@ -0,0 +1,21 @@
$Id: History,v 1.1 2005/11/30 11:39:45 gcosmo Exp $
-------------------------------------------------------------------
==========================================================
Geant4 - an Object-Oriented Toolkit for Physics Simulation
==========================================================
History file for hadronic/models/parton_string/qgsm directory
-------------------------------------------------------------
This file should be used to summarize modifications introduced in the
code and to keep track of all tags.
---------------------------------------------------------------
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
30 Nov 2005 Gabriele Cosmo (hadr-qgsm-V07-01-00)
-----------------------------------------------
- Trivial fix in G4QGSParticipants and for support of CLHEP-2.0.X series.
- Created History file.
@@ -44,7 +44,7 @@ class G4QGSParticipants : public G4VParticipants
int operator==(const G4QGSParticipants &right) const;
int operator!=(const G4QGSParticipants &right) const;
virtual void DoLorentzBoost(Hep3Vector aBoost)
virtual void DoLorentzBoost(G4ThreeVector aBoost)
{
if(theNucleus) theNucleus->DoLorentzBoost(aBoost);
theBoost = aBoost;
@@ -420,20 +420,15 @@ SampleX(G4double anXmin, G4int nSea, G4int totalSea, G4double aBeta)
if(y>ymax) ymax = y;
}
G4double y;
G4double xMax=1-(totalSea+1)*anXmin;
if(anXmin > xMax)
{
G4cout << "anXmin = "<<anXmin<<" nSea = "<<nSea<<" totalSea = "<< totalSea<<G4endl;
throw G4HadronicException(__FILE__, __LINE__, "G4QGSMSplitableHadron - Fatal: Cannot sample parton densities under these constraints.");
}
do
{
x1 = -1.;
G4int debcount=0;
while(x1<anXmin||x1>=1-(totalSea+1)*anXmin)
{
debcount ++;
if(debcount>10000)
{
G4cout << "anXmin = "<<anXmin<<" nSea = "<<nSea<<" totalSea = "<< totalSea<<G4endl;
throw G4HadronicException(__FILE__, __LINE__, "G4QGSMSplitableHadron - Fatal: Cannot sample parton densities under these constraints.");
}
x1 = G4UniformRand();
}
x1 = CLHEP::RandFlat::shoot(anXmin, xMax);
y = std::pow(x1, alpha);
y *= std::pow( std::pow(1-x1-totalSea*anXmin, alpha+1) - std::pow(anXmin, alpha+1), nSea);
y *= std::pow(1-x1-totalSea*anXmin, aBeta+1) - std::pow(anXmin, aBeta+1);