Import Geant4 11.1.0.beta source tree
This commit is contained in:
+10
-4
@@ -44,10 +44,11 @@
|
||||
|
||||
G4HadronBuilder::G4HadronBuilder(G4double mesonMix, G4double barionMix,
|
||||
std::vector<double> scalarMesonMix,
|
||||
std::vector<double> vectorMesonMix,
|
||||
G4double Eta_cProb, G4double Eta_bProb)
|
||||
std::vector<double> vectorMesonMix,
|
||||
G4double Eta_cProb, G4double Eta_bProb, G4double mesonMixSSbar)
|
||||
{
|
||||
mesonSpinMix = mesonMix;
|
||||
mesonSpinMix = mesonMix;
|
||||
mesonSpinMixSSbar = mesonMixSSbar;
|
||||
barionSpinMix = barionMix;
|
||||
scalarMesonMixings = scalarMesonMix;
|
||||
vectorMesonMixings = vectorMesonMix;
|
||||
@@ -64,7 +65,12 @@ G4ParticleDefinition * G4HadronBuilder::Build(G4ParticleDefinition * black, G4Pa
|
||||
return Barion(black,white,spin);
|
||||
} else {
|
||||
// Meson
|
||||
Spin spin = (G4UniformRand() < mesonSpinMix) ? SpinZero : SpinOne;
|
||||
Spin spin = SpinZero;
|
||||
if ( std::abs(black->GetPDGEncoding()) == 3 && std::abs(white->GetPDGEncoding()) == 3 ) {
|
||||
spin = (G4UniformRand() < mesonSpinMixSSbar) ? SpinZero : SpinOne;
|
||||
} else {
|
||||
spin = (G4UniformRand() < mesonSpinMix) ? SpinZero : SpinOne;
|
||||
}
|
||||
return Meson(black,white,spin);
|
||||
}
|
||||
}
|
||||
|
||||
+31
-19
@@ -723,29 +723,40 @@ G4bool G4LundStringFragmentation::SplitLast(G4FragmentingString * string,
|
||||
|
||||
if (string->IsAFourQuarkString() )
|
||||
{
|
||||
// The string is qq-qqbar type. Diquarks are on the string ends
|
||||
if (StringMass-MinimalStringMass < 0.)
|
||||
{
|
||||
if (! Diquark_AntiDiquark_belowThreshold_lastSplitting(string, LeftHadron, RightHadron) )
|
||||
G4int IDleft = std::abs( string->GetLeftParton()->GetPDGEncoding() );
|
||||
G4int IDright = std::abs( string->GetRightParton()->GetPDGEncoding() );
|
||||
if ( IDleft > 3100 || IDright > 3100 )
|
||||
{
|
||||
if (! Diquark_AntiDiquark_belowThreshold_lastSplitting(string, LeftHadron, RightHadron) )
|
||||
{
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
} else
|
||||
{
|
||||
Diquark_AntiDiquark_aboveThreshold_lastSplitting(string, LeftHadron, RightHadron);
|
||||
} else
|
||||
{
|
||||
// The string is qq-qqbar type. Diquarks are on the string ends
|
||||
if (StringMass-MinimalStringMass < 0.)
|
||||
{
|
||||
if (! Diquark_AntiDiquark_belowThreshold_lastSplitting(string, LeftHadron, RightHadron) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
} else
|
||||
{
|
||||
Diquark_AntiDiquark_aboveThreshold_lastSplitting(string, LeftHadron, RightHadron);
|
||||
|
||||
if (NumberOf_FS == 0) return false;
|
||||
if (NumberOf_FS == 0) return false;
|
||||
|
||||
sampledState = SampleState();
|
||||
if (string->GetLeftParton()->GetPDGEncoding() < 0)
|
||||
{
|
||||
LeftHadron =FS_LeftHadron[sampledState];
|
||||
RightHadron=FS_RightHadron[sampledState];
|
||||
} else
|
||||
{
|
||||
LeftHadron =FS_RightHadron[sampledState];
|
||||
RightHadron=FS_LeftHadron[sampledState];
|
||||
}
|
||||
sampledState = SampleState();
|
||||
if (string->GetLeftParton()->GetPDGEncoding() < 0)
|
||||
{
|
||||
LeftHadron =FS_LeftHadron[sampledState];
|
||||
RightHadron=FS_RightHadron[sampledState];
|
||||
} else
|
||||
{
|
||||
LeftHadron =FS_RightHadron[sampledState];
|
||||
RightHadron=FS_LeftHadron[sampledState];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
{
|
||||
@@ -1134,6 +1145,7 @@ G4bool G4LundStringFragmentation::Quark_AntiQuark_lastSplitting(G4FragmentingStr
|
||||
NumberOf_FS=0;
|
||||
for (G4int ProdQ=1; ProdQ < 4; ProdQ++) // Loop over quark-antiquark cases: u-ubar, d-dbar, s-sbar
|
||||
{ // (as last splitting, do not consider c-cbar and b-bbar cases)
|
||||
//G4cout << "NumberOf_FS ProdQ " << NumberOf_FS << " " << ProdQ << G4endl;
|
||||
LeftHadronCharge = QuarkCharge - Qcharge[ProdQ-1];
|
||||
G4int SignQ = LeftHadronCharge/3; if (SignQ == 0) SignQ = 1;
|
||||
|
||||
|
||||
+35
-8
@@ -80,7 +80,8 @@ G4VLongitudinalStringDecay::G4VLongitudinalStringDecay(const G4String& name)
|
||||
DiquarkBreakProb = 0.1; // Probability of (qq)->h+(qq)'
|
||||
|
||||
//... pspin_meson is probability to create pseudo-scalar meson
|
||||
pspin_meson = 0.5;
|
||||
pspin_meson = 0.4;
|
||||
pspin_mesonSSbar = 0.3;
|
||||
|
||||
//... pspin_barion is probability to create 1/2 barion
|
||||
pspin_barion = 0.5;
|
||||
@@ -110,9 +111,8 @@ G4VLongitudinalStringDecay::G4VLongitudinalStringDecay(const G4String& name)
|
||||
|
||||
// Parameters may be changed until the first fragmentation starts
|
||||
PastInitPhase=false;
|
||||
hadronizer = new G4HadronBuilder(pspin_meson,pspin_barion,
|
||||
scalarMesonMix,vectorMesonMix,
|
||||
ProbEta_c, ProbEta_b);
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix,
|
||||
ProbEta_c, ProbEta_b, pspin_mesonSSbar );
|
||||
|
||||
MaxMass=-350.0*GeV; // If there will be a particle with mass larger than Higgs the value must be changed.
|
||||
|
||||
@@ -505,7 +505,8 @@ void G4VLongitudinalStringDecay::SetVectorMesonProbability(G4double aValue)
|
||||
} else {
|
||||
pspin_meson = aValue;
|
||||
delete hadronizer;
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix, ProbEta_c, ProbEta_b );
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix,
|
||||
ProbEta_c, ProbEta_b , pspin_mesonSSbar );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -519,7 +520,8 @@ void G4VLongitudinalStringDecay::SetSpinThreeHalfBarionProbability(G4double aVal
|
||||
} else {
|
||||
pspin_barion = aValue;
|
||||
delete hadronizer;
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix, ProbEta_c, ProbEta_b );
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix,
|
||||
ProbEta_c, ProbEta_b, pspin_mesonSSbar );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -541,7 +543,8 @@ void G4VLongitudinalStringDecay::SetScalarMesonMixings(std::vector<G4double> aVe
|
||||
scalarMesonMix[4] = aVector[4];
|
||||
scalarMesonMix[5] = aVector[5];
|
||||
delete hadronizer;
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix, ProbEta_c, ProbEta_b );
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix,
|
||||
ProbEta_c, ProbEta_b, pspin_mesonSSbar );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -563,7 +566,8 @@ void G4VLongitudinalStringDecay::SetVectorMesonMixings(std::vector<G4double> aVe
|
||||
vectorMesonMix[4] = aVector[4];
|
||||
vectorMesonMix[5] = aVector[5];
|
||||
delete hadronizer;
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix, ProbEta_c, ProbEta_b );
|
||||
hadronizer = new G4HadronBuilder( pspin_meson, pspin_barion, scalarMesonMix, vectorMesonMix,
|
||||
ProbEta_c, ProbEta_b, pspin_mesonSSbar );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -704,12 +708,20 @@ void G4VLongitudinalStringDecay::SetMinMasses()
|
||||
Meson[0][0][2] = 221; MesonWeight[0][0][3] = ( pspin_meson) * (1-scalarMesonMix[0]-scalarMesonMix[1]); // Eta
|
||||
Meson[0][0][3] = 331; MesonWeight[0][0][4] = ( pspin_meson) * ( scalarMesonMix[1]); // Eta'
|
||||
|
||||
/*
|
||||
//dd3 -> vectorMesonMix[0] * 113 + (1-vectorMesonMix[0]-vectorMesonMix[1]) * 223 + vectorMesonMix[1] * 333 (001)
|
||||
//dd3 -> rho_0 omega phi
|
||||
|
||||
Meson[0][0][1] = 113; MesonWeight[0][0][1] = (1.-pspin_meson) * ( vectorMesonMix[0] ); // Rho
|
||||
Meson[0][0][4] = 223; MesonWeight[0][0][4] = (1.-pspin_meson) * (1-vectorMesonMix[0]-vectorMesonMix[1]); // omega
|
||||
Meson[0][0][5] = 333; MesonWeight[0][0][5] = (1.-pspin_meson) * ( vectorMesonMix[1]); // phi
|
||||
*/
|
||||
|
||||
//dd3 -> (1-vectorMesonMix[1] * 113 + vectorMesonMix[1] * 223 (001)
|
||||
//dd3 -> rho_0 omega
|
||||
|
||||
Meson[0][0][1] = 113; MesonWeight[0][0][1] = (1.-pspin_meson) * (1-vectorMesonMix[1]); // Rho
|
||||
Meson[0][0][4] = 223; MesonWeight[0][0][4] = (1.-pspin_meson) * ( vectorMesonMix[1]); // omega
|
||||
|
||||
//uu1 -> scalarMesonMix[0] * 111 + (1-scalarMesonMix[0]-scalarMesonMix[1]) * 221 + scalarMesonMix[1] * 331 (110)
|
||||
//uu1 -> Pi0 Eta Eta'
|
||||
@@ -718,12 +730,20 @@ void G4VLongitudinalStringDecay::SetMinMasses()
|
||||
Meson[1][1][2] = 221; MesonWeight[1][1][2] = ( pspin_meson) * (1-scalarMesonMix[0]-scalarMesonMix[1]); // Eta
|
||||
Meson[1][1][3] = 331; MesonWeight[1][1][3] = ( pspin_meson) * ( scalarMesonMix[1]); // Eta'
|
||||
|
||||
/*
|
||||
//uu3 -> vectorMesonMix[0] * 113 + (1-vectorMesonMix[0]-vectorMesonMix[1]) * 223 + vectorMesonMix[1] * 333 (111)
|
||||
//uu3 -> rho_0 omega phi
|
||||
|
||||
Meson[1][1][1] = 113; MesonWeight[1][1][1] = (1.-pspin_meson) * ( vectorMesonMix[0] ); // Rho
|
||||
Meson[1][1][4] = 223; MesonWeight[1][1][4] = (1.-pspin_meson) * (1-vectorMesonMix[0]-vectorMesonMix[1]); // omega
|
||||
Meson[1][1][5] = 333; MesonWeight[1][1][5] = (1.-pspin_meson) * ( vectorMesonMix[1]); // phi
|
||||
*/
|
||||
|
||||
//uu3 -> (1-vectorMesonMix[1]) * 113 + vectorMesonMix[1] * 223 (111)
|
||||
//uu3 -> rho_0 omega
|
||||
|
||||
Meson[1][1][1] = 113; MesonWeight[1][1][1] = (1.-pspin_meson) * (1-vectorMesonMix[1]); // Rho
|
||||
Meson[1][1][4] = 223; MesonWeight[1][1][4] = (1.-pspin_meson) * ( vectorMesonMix[1]); // omega
|
||||
|
||||
//ss1 -> (1-scalarMesonMix[5]) * 221 + scalarMesonMix[5] * 331 (220)
|
||||
//ss1 -> Eta Eta'
|
||||
@@ -731,11 +751,18 @@ void G4VLongitudinalStringDecay::SetMinMasses()
|
||||
Meson[2][2][0] = 221; MesonWeight[2][2][0] = ( pspin_meson) * (1-scalarMesonMix[5] ); // Eta
|
||||
Meson[2][2][2] = 331; MesonWeight[2][2][2] = ( pspin_meson) * ( scalarMesonMix[5]); // Eta'
|
||||
|
||||
/*
|
||||
//ss3 -> (1-vectorMesonMix[5]) * 223 + vectorMesonMix[5] * 333 (221)
|
||||
//ss3 -> omega phi
|
||||
|
||||
Meson[2][2][1] = 223; MesonWeight[2][2][1] = (1.-pspin_meson) * (1-vectorMesonMix[5] ); // omega
|
||||
Meson[2][2][3] = 333; MesonWeight[2][2][3] = (1.-pspin_meson) * ( vectorMesonMix[5]); // phi
|
||||
*/
|
||||
|
||||
//ss3 -> vectorMesonMix[5] * 333 (221)
|
||||
//ss3 -> phi
|
||||
|
||||
Meson[2][2][1] = 333; MesonWeight[2][2][3] = (1.-pspin_mesonSSbar) * ( vectorMesonMix[5]); // phi
|
||||
|
||||
//cc1 -> ProbEta_c /(1-pspin_meson) 441 (330) Probability of Eta_c
|
||||
//cc3 -> (1-ProbEta_c)/( pspin_meson) 443 (331) Probability of J/Psi
|
||||
|
||||
Reference in New Issue
Block a user