Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -7,13 +7,20 @@
|
||||
History file for hadronic/models/parton_string/diffraction directory
|
||||
-------------------------------------------------------------
|
||||
|
||||
This file should be used to summarize modifications introduced in the
|
||||
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)
|
||||
---------------------------------------------------------------
|
||||
|
||||
29-Oct-2020 B. Morgan hadr-partonstring-mgt-V10-06-03
|
||||
- Remove inclusion of obsolete CMake module
|
||||
|
||||
24-Jul-2020 A. Ribon hadr-partonstring-mgt-V10-06-02
|
||||
- G4VPartonStringModel : introduced a new pre-processor option for
|
||||
debugging heavy hadrons, switched off by default.
|
||||
|
||||
08-Mar-2020 V. Ivanchenko hadr-partonstring-mgt-V10-06-01
|
||||
- G4VParticipants, G4VPartonStringModel, G4VStringFragmentation,
|
||||
G4StringModel - clean-up: removed unused methods, delete
|
||||
@@ -51,7 +58,7 @@ code and to keep track of all tags.
|
||||
Thanks to Raphael Isemann for reporting this.
|
||||
|
||||
07-Dec-2017 A. Ribon hadr-partonstring-mgt-V10-04-00
|
||||
- Resumed the development version (i.e. deleted the class
|
||||
- Resumed the development version (i.e. deleted the class
|
||||
G4PomeronCrossSection which is not needed any longer).
|
||||
|
||||
08-Nov-2017 A. Ribon hadr-partonstring-mgt-V10-03-04
|
||||
@@ -158,7 +165,7 @@ code and to keep track of all tags.
|
||||
- G4PomeronCrossSection.cc: fix shadowing warnings
|
||||
|
||||
25-May-2012, G.Folger (had-partonstring-mgt-V09-05-01)
|
||||
- G4VPartonStringModel:
|
||||
- G4VPartonStringModel:
|
||||
- add ModelDescription() interface
|
||||
- make copy ctor, =, ==, and != operators private, not implemented
|
||||
|
||||
@@ -173,12 +180,12 @@ code and to keep track of all tags.
|
||||
Address coverity warnings
|
||||
|
||||
30 Nov. 2010 V. Uzhinsky (had-partonstring-mgt-V09-03-01)
|
||||
Member G4int Status in G4VSplitableHadron was changed
|
||||
Member G4int Status in G4VSplitableHadron was changed
|
||||
into G4int curStatus
|
||||
|
||||
8-Sept-2010, G.Folger (had-partonstring-mgt-V09-03-00)
|
||||
use integer interface of G4Nucleus for A&Z
|
||||
|
||||
|
||||
6 Dec. 2009, V. Uzhinsky (had-partonstring-mgt-V09-02-02)
|
||||
Repeatation of string fragmentation if
|
||||
energy corr. can not be done is implemented.
|
||||
@@ -195,8 +202,8 @@ code and to keep track of all tags.
|
||||
Introduction the right tag number.
|
||||
|
||||
9-July-2009 V. Uzhinsky (had-partonstring-mgt-V08-02-02)
|
||||
- New field was added in G4VSplitableHadron class (G4 bool Activation) and
|
||||
corresponding methods to operatite with it. It was needed for an
|
||||
- New field was added in G4VSplitableHadron class (G4 bool Activation) and
|
||||
corresponding methods to operatite with it. It was needed for an
|
||||
absorption of meson in nuclear collision generated by FTF.
|
||||
|
||||
24-Apr 2007 Gunter Folger (had-partonstring-mgt-V08-02-01)
|
||||
@@ -211,5 +218,5 @@ code and to keep track of all tags.
|
||||
31-March-2008 V. Uzhinsky Tag : had-partonstring-mgt-V09-01-00
|
||||
- G4FTFCrossSection.cc and G4FTFCrossSection.hh were re-named into
|
||||
G4FTFParameters.cc and .hh, and moved to diffraction directory.
|
||||
The corresponding class was re-named too. All of these characterize
|
||||
The corresponding class was re-named too. All of these characterize
|
||||
the content of the files more exactly.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4had_string.G4had_string_man
|
||||
#
|
||||
# Sources description for a library.
|
||||
# Lists the sources and headers of the code explicitely.
|
||||
# Lists the sources and headers of the code explicitly.
|
||||
# Lists include paths needed.
|
||||
# Lists the internal granular and global dependencies of the library.
|
||||
# Source specific properties should be added at the end.
|
||||
@@ -14,35 +14,9 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# List external includes needed.
|
||||
include_directories(${CLHEP_INCLUDE_DIRS})
|
||||
|
||||
# List internal includes needed.
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPNumerics/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/materials/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/particles/shortlived/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/util/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/track/include)
|
||||
|
||||
#
|
||||
# Define the Geant4 Module.
|
||||
#
|
||||
include(Geant4MacroDefineModule)
|
||||
GEANT4_DEFINE_MODULE(NAME G4had_string_man
|
||||
HEADERS
|
||||
G4InteractionContent.hh
|
||||
|
||||
+78
-1
@@ -34,6 +34,7 @@
|
||||
// ------------------------------------------------------------
|
||||
// debug switch
|
||||
//#define debug_PartonStringModel
|
||||
//#define debug_heavyHadrons
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#include "G4VPartonStringModel.hh"
|
||||
@@ -157,6 +158,16 @@ G4KineticTrackVector * G4VPartonStringModel::Scatter(const G4Nucleus &theNucleus
|
||||
G4cout<<"------------ Parton-String model: Number of produced strings ---- "<<strings->size()<<G4endl;
|
||||
#endif
|
||||
|
||||
#ifdef debug_heavyHadrons
|
||||
// Check charm and bottom numbers of the projectile:
|
||||
G4int count_charm_projectile = thePrimary.GetDefinition()->GetQuarkContent( 4 ) -
|
||||
thePrimary.GetDefinition()->GetAntiQuarkContent( 4 );
|
||||
G4int count_bottom_projectile = thePrimary.GetDefinition()->GetQuarkContent( 5 ) -
|
||||
thePrimary.GetDefinition()->GetAntiQuarkContent( 5 );
|
||||
G4int count_charm_strings = 0, count_bottom_strings = 0;
|
||||
G4int count_charm_hadrons = 0, count_bottom_hadrons = 0;
|
||||
#endif
|
||||
|
||||
for ( unsigned int astring=0; astring < strings->size(); astring++)
|
||||
{
|
||||
// rotate string to lab frame, models have it aligned to z
|
||||
@@ -172,6 +183,25 @@ G4KineticTrackVector * G4VPartonStringModel::Scatter(const G4Nucleus &theNucleus
|
||||
<<" Partons "<<(*strings)[astring]->GetLeftParton()->GetDefinition()->GetPDGEncoding()
|
||||
<<" "<<(*strings)[astring]->GetRightParton()->GetDefinition()->GetPDGEncoding()<<G4endl;
|
||||
#endif
|
||||
|
||||
#ifdef debug_heavyHadrons
|
||||
G4int left_charm = (*strings)[astring]->GetLeftParton()->GetDefinition()->GetQuarkContent( 4 );
|
||||
G4int left_anticharm = (*strings)[astring]->GetLeftParton()->GetDefinition()->GetAntiQuarkContent( 4 );
|
||||
G4int right_charm = (*strings)[astring]->GetRightParton()->GetDefinition()->GetQuarkContent( 4 );
|
||||
G4int right_anticharm = (*strings)[astring]->GetRightParton()->GetDefinition()->GetAntiQuarkContent( 4 );
|
||||
G4int left_bottom = (*strings)[astring]->GetLeftParton()->GetDefinition()->GetQuarkContent( 5 );
|
||||
G4int left_antibottom = (*strings)[astring]->GetLeftParton()->GetDefinition()->GetAntiQuarkContent( 5 );
|
||||
G4int right_bottom = (*strings)[astring]->GetRightParton()->GetDefinition()->GetQuarkContent( 5 );
|
||||
G4int right_antibottom = (*strings)[astring]->GetRightParton()->GetDefinition()->GetAntiQuarkContent( 5 );
|
||||
if ( left_charm != 0 || left_anticharm != 0 || right_charm != 0 || right_anticharm != 0 ||
|
||||
left_bottom != 0 || left_antibottom != 0 || right_bottom != 0 || right_antibottom != 0 ) {
|
||||
count_charm_strings += left_charm - left_anticharm + right_charm - right_anticharm;
|
||||
count_bottom_strings += left_bottom - left_antibottom + right_bottom - right_antibottom;
|
||||
G4cout << "G4VPartonStringModel::Scatter : string #" << astring << " ("
|
||||
<< (*strings)[astring]->GetLeftParton()->GetDefinition()->GetParticleName() << " , "
|
||||
<< (*strings)[astring]->GetRightParton()->GetDefinition()->GetParticleName() << ")" << G4endl;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -184,9 +214,33 @@ G4KineticTrackVector * G4VPartonStringModel::Scatter(const G4Nucleus &theNucleus
|
||||
<<(*strings)[astring]->GetKineticTrack()->Get4Momentum().mag()<<" "
|
||||
<<(*strings)[astring]->GetKineticTrack()->GetDefinition()->GetParticleName()<<G4endl;
|
||||
#endif
|
||||
|
||||
#ifdef debug_heavyHadrons
|
||||
G4int charm = (*strings)[astring]->GetKineticTrack()->GetDefinition()->GetQuarkContent( 4 );
|
||||
G4int anticharm = (*strings)[astring]->GetKineticTrack()->GetDefinition()->GetAntiQuarkContent( 4 );
|
||||
G4int bottom = (*strings)[astring]->GetKineticTrack()->GetDefinition()->GetQuarkContent( 5 );
|
||||
G4int antibottom = (*strings)[astring]->GetKineticTrack()->GetDefinition()->GetAntiQuarkContent( 5 );
|
||||
if ( charm != 0 || anticharm != 0 || bottom != 0 || antibottom != 0 ) {
|
||||
count_charm_strings += charm - anticharm;
|
||||
count_bottom_strings += bottom - antibottom;
|
||||
G4cout << "G4VPartonStringModel::Scatter : track #" << astring << "\t"
|
||||
<< (*strings)[astring]->GetKineticTrack()->GetDefinition()->GetParticleName() << G4endl;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef debug_heavyHadrons
|
||||
if ( count_charm_projectile != count_charm_strings ) {
|
||||
G4cout << "G4VPartonStringModel::Scatter : CHARM VIOLATION in String formation ! #projectile="
|
||||
<< count_charm_projectile << " ; #strings=" << count_charm_strings << G4endl;
|
||||
}
|
||||
if ( count_bottom_projectile != count_bottom_strings ) {
|
||||
G4cout << "G4VPartonStringModel::Scatter : BOTTOM VIOLATION in String formation ! #projectile="
|
||||
<< count_bottom_projectile << " ; #strings=" << count_bottom_strings << G4endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef debug_PartonStringModel
|
||||
G4cout<<G4endl<<"SumString4Mom "<<SumStringMom<<G4endl;
|
||||
G4LorentzVector TargetResidual4Momentum(0.,0.,0.,0.);
|
||||
@@ -328,7 +382,6 @@ G4KineticTrackVector * G4VPartonStringModel::Scatter(const G4Nucleus &theNucleus
|
||||
#endif
|
||||
|
||||
SumMass=0.;
|
||||
|
||||
for ( unsigned int i=0; i < theResult->size(); i++)
|
||||
{
|
||||
SumMass+=(*theResult)[i]->Get4Momentum().mag();
|
||||
@@ -341,8 +394,32 @@ G4KineticTrackVector * G4VPartonStringModel::Scatter(const G4Nucleus &theNucleus
|
||||
BsumSec += (*theResult)[i]->GetDefinition()->GetBaryonNumber();
|
||||
QsumSec += (*theResult)[i]->GetDefinition()->GetPDGCharge();
|
||||
#endif
|
||||
|
||||
#ifdef debug_heavyHadrons
|
||||
G4int charm = (*theResult)[i]->GetDefinition()->GetQuarkContent( 4 );
|
||||
G4int anticharm = (*theResult)[i]->GetDefinition()->GetAntiQuarkContent( 4 );
|
||||
G4int bottom = (*theResult)[i]->GetDefinition()->GetQuarkContent( 5 );
|
||||
G4int antibottom = (*theResult)[i]->GetDefinition()->GetAntiQuarkContent( 5 );
|
||||
if ( charm != 0 || anticharm != 0 || bottom != 0 || antibottom != 0 ) {
|
||||
count_charm_hadrons += charm - anticharm;
|
||||
count_bottom_hadrons += bottom - antibottom;
|
||||
G4cout << "G4VPartonStringModel::Scatter : hadron #" << i << "\t"
|
||||
<< (*theResult)[i]->GetDefinition()->GetParticleName() << G4endl;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef debug_heavyHadrons
|
||||
if ( count_charm_projectile != count_charm_hadrons ) {
|
||||
G4cout << "G4VPartonStringModel::Scatter : CHARM VIOLATION in String hadronization ! #projectile="
|
||||
<< count_charm_projectile << " ; #hadrons=" << count_charm_hadrons << G4endl;
|
||||
}
|
||||
if ( count_bottom_projectile != count_bottom_hadrons ) {
|
||||
G4cout << "G4VPartonStringModel::Scatter : BOTTOM VIOLATION in String hadronization ! #projectile="
|
||||
<< count_bottom_projectile << " ; #hadrons=" << count_bottom_hadrons << G4endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef debug_PartonStringModel
|
||||
G4cout<<G4endl<<"-----------------------Parton-String model: balances -------------"<<G4endl;
|
||||
if(Qsum != QsumSec) {
|
||||
|
||||
@@ -93,7 +93,7 @@ G4VSplitableHadron::~G4VSplitableHadron()
|
||||
const G4VSplitableHadron & G4VSplitableHadron::operator=(const G4VSplitableHadron &)
|
||||
{
|
||||
throw G4HadronicException(__FILE__, __LINE__,
|
||||
"G4VSplitableHadron::operator= meant to not be accessable");
|
||||
"G4VSplitableHadron::operator= meant to not be accessible");
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user