49     Mass_of_light_quark    =140.*
MeV;
 
   50     Mass_of_heavy_quark    =500.*
MeV;
 
   51     Mass_of_string_junction=720.*
MeV;
 
   53     MinimalStringMass  = 0.;              
 
   54     MinimalStringMass2 = 0.;              
 
   68    for(
G4int i=0; i<3; i++)
 
   69    {  
for(
G4int j=0; j<3; j++)
 
   70       {  
for(
G4int k=0; k<6; k++)
 
   71          {  Meson[i][j][k]=0; MesonWeight[i][j][k]=0.;
 
  161    for(
G4int i=0; i<3; i++)
 
  162    {  
for(
G4int j=0; j<3; j++)
 
  163       {  
for(
G4int k=0; k<3; k++)
 
  164          {  
for(
G4int l=0; l<4; l++)
 
  165             { Baryon[i][j][k][l]=0; BaryonWeight[i][j][k][l]=0.;}
 
  173          Baryon[0][0][0][0]=1114;         
 
  174    BaryonWeight[0][0][0][0]=1.;
 
  177          Baryon[0][0][1][0]=2112;         
 
  180          Baryon[0][0][1][1]=2114;         
 
  184          Baryon[0][0][2][0]=3112;         
 
  187          Baryon[0][0][2][1]=3114;         
 
  191          Baryon[0][1][0][0]=2112;         
 
  194          Baryon[0][1][0][1]=2114;         
 
  198          Baryon[0][1][1][0]=2212;         
 
  201          Baryon[0][1][1][1]=2214;         
 
  205          Baryon[0][1][2][0]=3122;         
 
  208          Baryon[0][1][2][1]=3212;         
 
  211          Baryon[0][1][2][2]=3214;         
 
  215          Baryon[0][2][0][0]=3112;         
 
  218          Baryon[0][2][0][1]=3114;         
 
  222          Baryon[0][2][1][0]=3122;         
 
  225          Baryon[0][2][1][1]=3212;         
 
  228          Baryon[0][2][1][2]=3214;         
 
  232          Baryon[0][2][2][0]=3312;         
 
  235          Baryon[0][2][2][1]=3314;         
 
  240          Baryon[1][0][0][0]=2112;         
 
  243          Baryon[1][0][0][1]=2114;         
 
  247          Baryon[1][0][1][0]=2212;         
 
  250          Baryon[1][0][1][1]=2214;         
 
  254          Baryon[1][0][2][0]=3122;         
 
  257          Baryon[1][0][2][1]=3212;         
 
  260          Baryon[1][0][2][2]=3214;         
 
  264          Baryon[1][1][0][0]=2212;         
 
  267          Baryon[1][1][0][1]=2214;         
 
  271          Baryon[1][1][1][0]=2224;         
 
  272    BaryonWeight[1][1][1][0]=1.;
 
  275          Baryon[1][1][2][0]=3222;         
 
  278          Baryon[1][1][2][1]=3224;         
 
  282          Baryon[1][2][0][0]=3122;         
 
  285          Baryon[1][2][0][1]=3212;         
 
  288          Baryon[1][2][0][2]=3214;         
 
  292          Baryon[1][2][1][0]=3222;         
 
  295          Baryon[1][2][1][1]=3224;         
 
  299          Baryon[1][2][2][0]=3322;         
 
  302          Baryon[1][2][2][1]=3324;         
 
  307          Baryon[2][0][0][0]=3112;         
 
  310          Baryon[2][0][0][1]=3114;         
 
  314          Baryon[2][0][1][0]=3122;         
 
  317          Baryon[2][0][1][1]=3212;         
 
  320          Baryon[2][0][1][2]=3214;         
 
  324          Baryon[2][0][2][0]=3312;         
 
  327          Baryon[2][0][2][1]=3314;         
 
  331          Baryon[2][1][0][0]=3122;         
 
  334          Baryon[2][1][0][1]=3212;         
 
  337          Baryon[2][1][0][2]=3214;         
 
  341          Baryon[2][1][1][0]=3222;         
 
  344          Baryon[2][1][1][1]=3224;         
 
  348          Baryon[2][1][2][0]=3322;         
 
  351          Baryon[2][1][2][1]=3324;         
 
  355          Baryon[2][2][0][0]=3312;         
 
  358          Baryon[2][2][0][1]=3314;         
 
  362          Baryon[2][2][1][0]=3322;         
 
  365          Baryon[2][2][1][1]=3324;         
 
  369          Baryon[2][2][2][0]=3334;         
 
  370    BaryonWeight[2][2][2][0]=1.;
 
  392    for ( 
G4int i=0 ; i<35 ; i++ ) { 
 
  393      FS_LeftHadron[i] = 0;
 
  394      FS_RightHadron[i] = 0;
 
  407 void G4LundStringFragmentation::SetMinimalStringMass(
const G4FragmentingString  * 
const string)  
 
  410     G4int Number_of_quarks=0;
 
  412     G4double StringM=
string->Get4Momentum().mag();
 
  422         if( q1 < 3) {EstimatedMass +=Mass_of_light_quark;}
 
  423         if( q1 > 2) {EstimatedMass +=Mass_of_heavy_quark;}
 
  425         G4int q2=(Qleft/100)%10;
 
  426         if( q2 < 3) {EstimatedMass +=Mass_of_light_quark;}
 
  427         if( q2 > 2) {EstimatedMass +=Mass_of_heavy_quark;}
 
  428         EstimatedMass +=Mass_of_string_junction;
 
  433         if( Qleft < 3) {EstimatedMass +=Mass_of_light_quark;}
 
  434         if( Qleft > 2) {EstimatedMass +=Mass_of_heavy_quark;}
 
  444         G4int q1=Qright/1000;
 
  445         if( q1 < 3) {EstimatedMass +=Mass_of_light_quark;}
 
  446         if( q1 > 2) {EstimatedMass +=Mass_of_heavy_quark;}
 
  448         G4int q2=(Qright/100)%10;
 
  449         if( q2 < 3) {EstimatedMass +=Mass_of_light_quark;}
 
  450         if( q2 > 2) {EstimatedMass +=Mass_of_heavy_quark;}
 
  451         EstimatedMass +=Mass_of_string_junction;
 
  456         if( Qright < 3) {EstimatedMass +=Mass_of_light_quark;}
 
  457         if( Qright > 2) {EstimatedMass +=Mass_of_heavy_quark;}
 
  462     if(Number_of_quarks==2){EstimatedMass +=100.*
MeV;}
 
  463     if(Number_of_quarks==3){EstimatedMass += 20.*
MeV;}
 
  464     if(Number_of_quarks==4)
 
  466         if((StringM > 1880.) && ( EstimatedMass < 2100))     {EstimatedMass = 2020.;}
 
  468         else if((StringM > 2232.) && ( EstimatedMass < 2730)){EstimatedMass = 2570.;}
 
  469         else if((StringM > 5130.) && ( EstimatedMass < 3450)){EstimatedMass = 5130.;}
 
  472             EstimatedMass -=2.*Mass_of_string_junction;
 
  473             if(EstimatedMass <= 1600.*
MeV){EstimatedMass-=200.*
MeV;}
 
  474             else                          {EstimatedMass+=100.*
MeV;}
 
  480     MinimalStringMass=EstimatedMass;
 
  481     SetMinimalStringMass2(EstimatedMass);
 
  485 void G4LundStringFragmentation::SetMinimalStringMass2(
 
  488     MinimalStringMass2=aValue * aValue;
 
  502     SetMinimalStringMass(&aString);
 
  506     if(!IsFragmentable(&aString)) 
 
  514     if ( LeftVector != 0 ) {
 
  517         LeftVector->operator[](0)->SetPosition(theString.
GetPosition());
 
  518         if(LeftVector->size() > 1)
 
  522             LeftVector->operator[](1)->SetPosition(theString.
GetPosition());
 
  534         G4bool success = Loop_toFragmentString(theStringInCMS, LeftVector, RightVector);
 
  536     delete theStringInCMS;
 
  548     while(!RightVector->empty())
 
  550         LeftVector->push_back(RightVector->back());
 
  551         RightVector->erase(RightVector->end()-1);
 
  563     for(
size_t C1 = 0; 
C1 < LeftVector->size(); 
C1++)
 
  568         Momentum = toObserverFrame*Momentum;
 
  572         Momentum = toObserverFrame*Coordinate;
 
  575         Hadron->
SetPosition(PositionOftheStringCreation+aPosition);
 
  584     SetMinimalStringMass(
string);
 
  586     return MinimalStringMass < 
string->Get4Momentum().mag(); 
 
  592     SetMinimalStringMass(
string);
 
  599                                             MinimalStringMass*MinimalStringMass));
 
  611     G4ThreeVector ClusterVel=
string->Get4Momentum().boostVector();
 
  617     for(
G4int i=0; i<35; i++) {FS_Weight[i]=0.;}
 
  621     string->SetLeftPartonStable(); 
 
  628             if(StringMass-MinimalStringMass < 0.)
 
  630             if (! Diquark_AntiDiquark_belowThreshold_lastSplitting(
string, LeftHadron, RightHadron) ) 
 
  636             Diquark_AntiDiquark_aboveThreshold_lastSplitting(
string, LeftHadron, RightHadron);
 
  638             if(NumberOf_FS == 0) 
return false;
 
  640                         G4int sampledState = SampleState();
 
  644                 LeftHadron =FS_LeftHadron[sampledState];
 
  645                 RightHadron=FS_RightHadron[sampledState];
 
  648                 LeftHadron =FS_RightHadron[sampledState];
 
  649                 RightHadron=FS_LeftHadron[sampledState];
 
  658             Quark_AntiQuark_lastSplitting(
string, LeftHadron, RightHadron);
 
  662             Quark_Diquark_lastSplitting(
string, LeftHadron, RightHadron);
 
  665         if(NumberOf_FS == 0) 
return false;
 
  667                 G4int sampledState = SampleState();
 
  669         LeftHadron =FS_LeftHadron[sampledState];
 
  670         RightHadron=FS_RightHadron[sampledState];
 
  679     Sample4Momentum(&LeftMom,  LeftHadron->GetPDGMass(),
 
  680             &RightMom, RightHadron->GetPDGMass(),
 
  683     LeftMom.
boost(ClusterVel);
 
  684     RightMom.
boost(ClusterVel);
 
  686     LeftVector->push_back(
new G4KineticTrack(LeftHadron, 0, Pos, LeftMom));
 
  687     RightVector->push_back(
new G4KineticTrack(RightHadron, 0, Pos, RightMom));
 
  704     if((Mass > 930. || AntiMass > 930.)) 
 
  707         G4double r_val = 
sqr(InitialMass*InitialMass - Mass*Mass - AntiMass*AntiMass) -
 
  708                 sqr(2.*Mass*AntiMass);
 
  709         G4double Pabs = (r_val > 0.)? std::sqrt(r_val)/(2.*InitialMass) : 0;
 
  714         G4double st     = std::sqrt(1. - pz * pz)*Pabs;
 
  721         Mom->
setE(std::sqrt(Pabs*Pabs + Mass*Mass));
 
  724         AntiMom->
setE (std::sqrt(Pabs*Pabs + AntiMass*AntiMass));
 
  734             G4double termD = InitialMass*InitialMass -Mass*Mass - AntiMass*AntiMass;
 
  736             G4double termN = 2*termD + 4*Mass*Mass + 4*AntiMass*AntiMass;
 
  737             G4double pt2max=(termD*termD - termab )/ termN ;
 
  742             MassMt2    =     Mass *     Mass + Pt2;
 
  743             AntiMassMt2= AntiMass * AntiMass + Pt2;
 
  745             AvailablePz2= 
sqr(InitialMass*InitialMass - MassMt2 - AntiMassMt2) -
 
  746                     4.*MassMt2*AntiMassMt2;
 
  748         while(AvailablePz2 < 0.);     
 
  750         AvailablePz2 /=(4.*InitialMass*InitialMass);
 
  751         AvailablePz = std::sqrt(AvailablePz2);
 
  757         Mom->
setE(std::sqrt(MassMt2+AvailablePz2));
 
  759         AntiMom->
setPx(-Px); AntiMom->
setPy(-Py); AntiMom->
setPz(-AvailablePz);
 
  760         AntiMom->
setE (std::sqrt(AntiMassMt2+AvailablePz2));
 
  774     SetMinimalStringMass(newString);
 
  777     if(HadronMass + MinimalStringMass > String4Momentum.
mag()) {
return 0;}
 
  778     String4Momentum.
setPz(0.);
 
  793     G4double HadronMassT2 = 
sqr(HadronMass) + HadronPt.mag2();
 
  796     G4double Pz2 = (
sqr(StringMT2 - HadronMassT2 - ResidualMassT2) -
 
  797             4*HadronMassT2 * ResidualMassT2)/4./StringMT2;
 
  799     if(Pz2 < 0 ) {
return 0;}          
 
  804     G4double zMin = (std::sqrt(HadronMassT2+Pz2) - Pz)/std::sqrt(StringMT2);
 
  805     G4double zMax = (std::sqrt(HadronMassT2+Pz2) + Pz)/std::sqrt(StringMT2);
 
  808     if (zMin >= zMax) 
return 0;     
 
  812             HadronPt.x(), HadronPt.y());
 
  818             (z * 
string->LightConeDecay() - 
 
  819                     HadronMassT2/(z * 
string->LightConeDecay())));
 
  821     G4double HadronE  = 0.5* (z * 
string->LightConeDecay() +
 
  822             HadronMassT2/(z * 
string->LightConeDecay()));
 
  831         G4int PDGEncodingOfDecayParton,
 
  842     G4double Mt2 = Px*Px + Py*Py + Mass*Mass;
 
  845     if(std::abs(PDGEncodingOfDecayParton) < 1000)
 
  853     G4double zOfMaxyf=alund*Mt2/(alund*Mt2 + 1.);
 
  854     G4double maxYf=(1-zOfMaxyf)/zOfMaxyf * std::exp(-alund*Mt2/zOfMaxyf);
 
  860         yf = (1-
z)/z * std::exp(-alund*Mt2/z);
 
  887     G4bool final_success=
false;
 
  888         G4bool inner_success=
true;
 
  898         RightVector->clear();
 
  902         while (! StopFragmenting(currentString) )
 
  911                     LeftVector->push_back(Hadron);
 
  914                     RightVector->push_back(Hadron);
 
  916                 delete currentString;
 
  917                 currentString=newString;
 
  921         if ( inner_success && SplitLast(currentString, LeftVector, RightVector) )
 
  925         delete currentString;
 
  927     return final_success;
 
  931 G4bool G4LundStringFragmentation::
 
  937     G4int cClusterInterrupt = 0;
 
  946         G4int LeftQuark1= 
string->GetLeftParton()->GetPDGEncoding()/1000;
 
  947         G4int LeftQuark2=(
string->GetLeftParton()->GetPDGEncoding()/100)%10;
 
  949         G4int RightQuark1= 
string->GetRightParton()->GetPDGEncoding()/1000;
 
  950         G4int RightQuark2=(
string->GetRightParton()->GetPDGEncoding()/100)%10;
 
  969     while ((StringMass <= LeftHadron->GetPDGMass() + RightHadron->
GetPDGMass()));
 
  975 G4bool G4LundStringFragmentation::
 
  985     G4double StringMass   = 
string->Mass();
 
  992         Anti_Di_Quark   =
string->GetLeftParton();
 
  993         Di_Quark=
string->GetRightParton();
 
  996         Anti_Di_Quark   =
string->GetRightParton();
 
  997         Di_Quark=
string->GetLeftParton();
 
 1001     G4int AbsIDAnti_di_quark =std::abs(IDAnti_di_quark);
 
 1003     G4int AbsIDdi_quark      =std::abs(IDdi_quark);
 
 1005     G4int ADi_q1=AbsIDAnti_di_quark/1000;
 
 1006     G4int ADi_q2=(AbsIDAnti_di_quark-ADi_q1*1000)/100;
 
 1008     G4int Di_q1=AbsIDdi_quark/1000;
 
 1009     G4int Di_q2=(AbsIDdi_quark-Di_q1*1000)/100;
 
 1015     for(
G4int ProdQ=1; ProdQ < 4; ProdQ++)
 
 1025                             -Baryon[ADi_q1-1][ADi_q2-1][ProdQ-1][StateADiQ]);
 
 1035                                 +Baryon[Di_q1-1][Di_q2-1][ProdQ-1][StateDiQ]);
 
 1042                 if(StringMass >= LeftHadronMass + RightHadronMass)
 
 1044                     G4double FS_Psqr=lambda(StringMassSqr,
sqr(LeftHadronMass),
 
 1045                                 sqr(RightHadronMass));
 
 1047                     FS_Weight[NumberOf_FS]=std::sqrt(FS_Psqr)*FS_Psqr*
 
 1048                                    BaryonWeight[ADi_q1-1][ADi_q2-1][ProdQ-1][StateADiQ]*
 
 1049                                    BaryonWeight[Di_q1-1][Di_q2-1][ProdQ-1][StateDiQ]*
 
 1050                                    Prob_QQbar[ProdQ-1];
 
 1052                     FS_LeftHadron[NumberOf_FS] = LeftHadron;
 
 1053                     FS_RightHadron[NumberOf_FS]= RightHadron;
 
 1059                     if(NumberOf_FS > 34)
 
 1060                     {
G4int Uzhi; 
G4cout<<
"QQ_QQbar string #_FS "<<NumberOf_FS<<G4endl; G4cin>>Uzhi;}
 
 1065             } 
while(Baryon[Di_q1-1][Di_q2-1][ProdQ-1][StateDiQ]!=0);
 
 1068         } 
while(Baryon[ADi_q1-1][ADi_q2-1][ProdQ-1][StateADiQ]!=0);
 
 1075 G4bool G4LundStringFragmentation::
 
 1080     G4double StringMass   = 
string->Mass();
 
 1088         Quark   =
string->GetLeftParton();
 
 1089         Di_Quark=
string->GetRightParton();
 
 1092         Quark   =
string->GetRightParton();
 
 1093         Di_Quark=
string->GetLeftParton();
 
 1097     G4int AbsIDquark     =std::abs(IDquark);
 
 1099     G4int AbsIDdi_quark=std::abs(IDdi_quark);
 
 1100     G4int Di_q1=AbsIDdi_quark/1000;
 
 1101     G4int Di_q2=(AbsIDdi_quark-Di_q1*1000)/100;
 
 1105     if(IDdi_quark < 0) SignDiQ=-1;
 
 1108     for(
G4int ProdQ=1; ProdQ < 4; ProdQ++)
 
 1113             if(IDquark == 2)                   SignQ= 1;
 
 1114             if((IDquark == 1) && (ProdQ == 3)) SignQ= 1; 
 
 1115             if((IDquark == 3) && (ProdQ == 1)) SignQ=-1; 
 
 1119             if(IDquark == -2)                  SignQ=-1;
 
 1120             if((IDquark ==-1) && (ProdQ == 3)) SignQ=-1; 
 
 1121             if((IDquark ==-3) && (ProdQ == 1)) SignQ= 1; 
 
 1124         if(AbsIDquark == ProdQ)            SignQ= 1;
 
 1135                             Meson[AbsIDquark-1][ProdQ-1][StateQ]);
 
 1145                                 Baryon[Di_q1-1][Di_q2-1][ProdQ-1][StateDiQ]);
 
 1152                 if(StringMass >= LeftHadronMass + RightHadronMass)
 
 1154                     G4double FS_Psqr=lambda(StringMassSqr,
sqr(LeftHadronMass),
 
 1155                                 sqr(RightHadronMass));
 
 1156                     FS_Weight[NumberOf_FS]=std::sqrt(FS_Psqr)*
 
 1157                                    MesonWeight[AbsIDquark-1][ProdQ-1][StateQ]*
 
 1158                                    BaryonWeight[Di_q1-1][Di_q2-1][ProdQ-1][StateDiQ]*
 
 1159                                    Prob_QQbar[ProdQ-1];
 
 1161                     FS_LeftHadron[NumberOf_FS] = LeftHadron;
 
 1162                     FS_RightHadron[NumberOf_FS]= RightHadron;
 
 1168                     if(NumberOf_FS > 34)
 
 1169                     {
G4int Uzhi; 
G4cout<<
"QQbar string #_FS "<<NumberOf_FS<<G4endl; G4cin>>Uzhi;}
 
 1174             } 
while(Baryon[Di_q1-1][Di_q2-1][ProdQ-1][StateDiQ]!=0);
 
 1177         } 
while(Meson[AbsIDquark-1][ProdQ-1][StateQ]!=0);
 
 1184 G4bool G4LundStringFragmentation::
 
 1189     G4double StringMass   = 
string->Mass();
 
 1197         Quark     =
string->GetLeftParton();
 
 1198         Anti_Quark=
string->GetRightParton();
 
 1201         Quark     =
string->GetRightParton();
 
 1202         Anti_Quark=
string->GetLeftParton();
 
 1207     G4int AbsIDquark     =std::abs(IDquark);
 
 1209     G4int AbsIDanti_quark=std::abs(IDanti_quark);
 
 1212     for(
G4int ProdQ=1; ProdQ < 4; ProdQ++)
 
 1216         if(IDquark == 2)                   SignQ= 1;
 
 1217         if((IDquark == 1) && (ProdQ == 3)) SignQ= 1; 
 
 1218         if((IDquark == 3) && (ProdQ == 1)) SignQ=-1; 
 
 1219         if(IDquark == ProdQ)               SignQ= 1;
 
 1222         if(IDanti_quark == -2)                  SignAQ=-1;
 
 1223         if((IDanti_quark ==-1) && (ProdQ == 3)) SignAQ=-1; 
 
 1224         if((IDanti_quark ==-3) && (ProdQ == 1)) SignAQ= 1; 
 
 1225         if(AbsIDanti_quark == ProdQ)            SignAQ= 1;
 
 1231                                Meson[AbsIDquark-1][ProdQ-1][StateQ]);
 
 1239                                 Meson[AbsIDanti_quark-1][ProdQ-1][StateAQ]);
 
 1243                 if(StringMass >= LeftHadronMass + RightHadronMass)
 
 1245                     G4double FS_Psqr=lambda(StringMassSqr,
sqr(LeftHadronMass),
 
 1246                                 sqr(RightHadronMass));
 
 1248                     FS_Weight[NumberOf_FS]=std::sqrt(FS_Psqr)*
 
 1249                                    MesonWeight[AbsIDquark-1][ProdQ-1][StateQ]*
 
 1250                                    MesonWeight[AbsIDanti_quark-1][ProdQ-1][StateAQ]*
 
 1251                                    Prob_QQbar[ProdQ-1];
 
 1255                         FS_LeftHadron[NumberOf_FS] = RightHadron;
 
 1256                         FS_RightHadron[NumberOf_FS]= LeftHadron;
 
 1259                         FS_LeftHadron[NumberOf_FS] = LeftHadron;
 
 1260                         FS_RightHadron[NumberOf_FS]= RightHadron;
 
 1266                     if(NumberOf_FS > 34)
 
 1267                     {
G4int Uzhi; 
G4cout<<
"QQbar string #_FS "<<NumberOf_FS<<G4endl; G4cin>>Uzhi;}
 
 1269             } 
while(Meson[AbsIDanti_quark-1][ProdQ-1][StateAQ]!=0);
 
 1270         } 
while(Meson[AbsIDquark-1][ProdQ-1][StateQ]!=0);
 
 1277 G4int G4LundStringFragmentation::SampleState(
void) 
 
 1280     for(
G4int i=0; i<NumberOf_FS; i++) {SumWeights+=FS_Weight[i];}
 
 1284     G4int indexPosition = 0;
 
 1286     for(
G4int i=0; i<NumberOf_FS; i++)
 
 1288         Sum+=(FS_Weight[i]/SumWeights);
 
 1290         if(Sum >= ksi) 
break;
 
 1292     return indexPosition;
 
virtual G4KineticTrackVector * FragmentString(const G4ExcitedString &theString)
 
G4ParticleDefinition * GetRightParton(void) const 
 
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
 
const G4ThreeVector & GetPosition() const 
 
G4ExcitedString * CPExcited(const G4ExcitedString &string)
 
void SetFormationTime(G4double aFormationTime)
 
void SetStrangenessSuppression(G4double aValue)
 
G4ParticleDefinition * Build(G4ParticleDefinition *black, G4ParticleDefinition *white)
 
G4int StringLoopInterrupt
 
G4int ClusterLoopInterrupt
 
G4int GetPDGEncoding() const 
 
G4ThreeVector SampleQuarkPt(G4double ptMax=-1.)
 
std::vector< G4double > vectorMesonMix
 
const G4String & GetParticleSubType() const 
 
virtual void SetMassCut(G4double aValue)
 
G4ParticleDefinition * GetDecayParton() const 
 
void SetStringTensionParameter(G4double aValue)
 
const G4ThreeVector & GetPosition() const 
 
G4ParticleDefinition * GetLeftParton(void) const 
 
void SetDiquarkBreakProbability(G4double aValue)
 
G4GLOB_DLL std::ostream G4cout
 
G4KineticTrackVector * LightFragmentationTest(const G4ExcitedString *const theString)
 
G4LorentzVector Get4Momentum() const 
 
G4double GetFormationTime() const 
 
G4LorentzRotation TransformToAlignedCms()
 
HepLorentzVector & boost(double, double, double)
 
G4ParticleDefinition * FindParticle(G4int Encoding)
 
void SetPosition(const G4ThreeVector aPosition)
 
G4int GetDecayDirection() const 
 
void Set4Momentum(const G4LorentzVector &a4Momentum)
 
G4LundStringFragmentation()
 
G4bool FourQuarkString(void) const 
 
std::vector< G4double > scalarMesonMix
 
virtual ~G4LundStringFragmentation()
 
G4HadronBuilder * hadronizer
 
G4double GetPDGMass() const 
 
static G4ParticleTable * GetParticleTable()
 
G4double GetTimeOfCreation() const 
 
HepLorentzRotation inverse() const 
 
const G4LorentzVector & Get4Momentum() const 
 
void CalculateHadronTimePosition(G4double theInitialStringMass, G4KineticTrackVector *)
 
G4KineticTrack * Splitup(G4FragmentingString *string, G4FragmentingString *&newString)
 
void SetDiquarkSuppression(G4double aValue)
 
CLHEP::HepLorentzVector G4LorentzVector