Import Geant4 10.7.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2020-06-26 10:23:25 +02:00
parent c02c370437
commit 67ba86d073
1871 changed files with 174422 additions and 131884 deletions
@@ -58,8 +58,7 @@ G4QGSParticipants::G4QGSParticipants() : theDiffExcitaton(),
SetPt2ofNuclearDestruction( 0.075*GeV*GeV );
SetMaxPt2ofNuclearDestruction( 1.0*GeV*GeV );
SetExcitationEnergyPerWoundedNucleon( 40.0*MeV );
sigmaPt=0.25*sqr(GeV);
sigmaPt=0.0; // Uzhi June 2020 : sigmaPt=0.25*sqrt(GeV);
}
G4QGSParticipants::G4QGSParticipants(const G4QGSParticipants &right)
@@ -45,12 +45,18 @@
#include "G4VSplitableHadron.hh"
#include "G4ExcitedString.hh"
#include "G4ParticleTable.hh" // Uzhi June 2020
#include "G4Log.hh"
#include "G4Pow.hh"
//#define debugQuarkExchange
G4QuarkExchange::G4QuarkExchange(){}
G4QuarkExchange::G4QuarkExchange()
{
StrangeSuppress = (1.0-0.04)/2.0; // Uzhi June 2020 : suppression of strange quark pair prodution,
// i.e. u:d:s=1:1:0.04 . Need to be tuned!
}
G4QuarkExchange::~G4QuarkExchange(){}
@@ -135,6 +141,8 @@ ExciteParticipants(G4VSplitableHadron *projectile, G4VSplitableHadron *target) c
if ( (absPDGcode == 321) || (absPDGcode == 311) ||
( PDGcode == 130) || ( PDGcode == 310) ) { ProjectileDiffraction = G4UniformRand() <= 0.5; }
//G4cout<<"ProjectileDiffr "<<ProjectileDiffraction<<G4endl;
if ( ProjectileDiffraction ) {
if ( absPDGcode > 1000 ) //------Projectile is baryon --------
{
@@ -354,12 +362,32 @@ ExciteParticipants(G4VSplitableHadron *projectile, G4VSplitableHadron *target) c
projectile->SplitUp();
target->SplitUp();
G4Parton* PrQuark = projectile->GetNextParton();
G4Parton* TrQuark = target->GetNextParton();
G4Parton* PrQuark = nullptr;
G4Parton* TrQuark = nullptr;
G4ParticleDefinition * Tmp = PrQuark->GetDefinition();
PrQuark->SetDefinition(TrQuark->GetDefinition());
TrQuark->SetDefinition(Tmp);
if( projectile->GetDefinition()->GetBaryonNumber() >= 0 ) { // Uzhi June 2020
// Quark exchange ----
PrQuark = projectile->GetNextParton();
TrQuark = target->GetNextParton();
G4ParticleDefinition * Tmp = PrQuark->GetDefinition();
PrQuark->SetDefinition(TrQuark->GetDefinition());
TrQuark->SetDefinition(Tmp);
return true;
}
// Quark exchage for projectile anti-baryon (annihilation and new Q pair creation ---
// This part added by Uzhi June 2020
PrQuark = projectile->GetNextAntiParton();
TrQuark = target->GetNextParton();
if( -PrQuark->GetDefinition()->GetPDGEncoding() == TrQuark->GetDefinition()->GetPDGEncoding() ){
G4int QuarkCode = 1 + (int)(G4UniformRand()/StrangeSuppress);
G4ParticleDefinition* AQpr = G4ParticleTable::GetParticleTable()->FindParticle(-QuarkCode);
G4ParticleDefinition* Qtr = G4ParticleTable::GetParticleTable()->FindParticle( QuarkCode);
if( (AQpr != nullptr) && (Qtr != nullptr) ) {
PrQuark->SetDefinition(AQpr);
TrQuark->SetDefinition( Qtr);
}
}
return true;
}