Changeset 1055 for trunk/source/processes/hadronic/models/parton_string
- Timestamp:
- May 28, 2009, 4:26:57 PM (15 years ago)
- Location:
- trunk/source/processes/hadronic/models/parton_string
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/parton_string/hadronization/History
r819 r1055 1 $Id: History,v 1. 5 2007/05/03 22:10:54gunter Exp $1 $Id: History,v 1.7 2009/05/22 16:36:52 gunter Exp $ 2 2 ------------------------------------------------------------------- 3 3 … … 16 16 --------------------------------------------------------------- 17 17 18 22-May-2009 Gunter Folger (had-hadronization-V09-02-01) 19 - remove temporary workaround - fix is now in QGS 20 - change pt sampling in G4LundStringFragmentation to avoid near endless 21 loop; this should improve overall performance slightly. 22 Affected G4VLongitudinalStringDecay, where SampleQuarkPt() is 23 implemented; affected .hh and .cc for new optional argument of max Pt 24 to SampleQuarkPt() 25 26 18-May-2009 Gunter Folger (had-hadronization-V09-02-00) 27 --------------------------------------------------------------------- 28 - reset formatting changes by MK with tags hadr-prtn-hadr-V09-02-xx 29 - temporary workaround for wrong PDG codes created on wrong input from QGS 30 when used for e.g. antiproton. 31 18 32 2-May 2007 Gunter Folger (had-hadronization-V08-02-03) 19 33 --------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh
r1007 r1055 25 25 // 26 26 // 27 // $Id: G4HadronBuilder.hh,v 1. 3 2006/06/29 20:54:46gunter Exp $28 // GEANT4 tag $Name: geant4-09-0 2$27 // $Id: G4HadronBuilder.hh,v 1.5 2009/05/18 09:43:40 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $ 29 29 // 30 30 // ----------------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh
r1007 r1055 25 25 // 26 26 // 27 // $Id: G4VLongitudinalStringDecay.hh,v 1. 6 2008/06/23 08:35:54 vuzhinskExp $28 // GEANT4 tag $Name: geant4-09-0 2$27 // $Id: G4VLongitudinalStringDecay.hh,v 1.7 2009/05/22 16:35:47 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $ 29 29 // Maxim Komogorov 30 30 // … … 116 116 // used by G4VKinkyStringDecy.. 117 117 G4int SampleQuarkFlavor(void); 118 G4ThreeVector SampleQuarkPt( );118 G4ThreeVector SampleQuarkPt(G4double ptMax=-1.); // -1. no limit on maxpt. 119 119 120 120 protected: -
trunk/source/processes/hadronic/models/parton_string/hadronization/src/G4ExcitedStringDecay.cc
r819 r1055 134 134 } 135 135 } 136 136 #ifdef debug_G4ExcitedStringDecay 137 137 if(!success) 138 138 { … … 144 144 // throw G4HadronicException(__FILE__, __LINE__, "G4ExcitedStringDecay failed to correct..."); 145 145 } 146 146 #endif 147 147 // Compute c.m.s. interaction velocity and KTV back boost 148 148 Beta = TotalCollisionMom.boostVector(); -
trunk/source/processes/hadronic/models/parton_string/hadronization/src/G4HadronBuilder.cc
r1007 r1055 25 25 // 26 26 // 27 // $Id: G4HadronBuilder.cc,v 1. 7 2008/04/25 14:20:14 vuzhinskExp $28 // GEANT4 tag $Name: geant4-09-0 2$27 // $Id: G4HadronBuilder.cc,v 1.10 2009/05/22 16:34:31 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $ 29 29 // 30 30 // ----------------------------------------------------------------------------- … … 147 147 if( (IsUp && IsAnti ) || (!IsUp && !IsAnti ) ) 148 148 PDGEncoding = - PDGEncoding; 149 }149 } 150 150 151 151 -
trunk/source/processes/hadronic/models/parton_string/hadronization/src/G4LundStringFragmentation.cc
r1007 r1055 25 25 // 26 26 // 27 // $Id: G4LundStringFragmentation.cc,v 1.1 3 2008/06/23 09:17:10 gcosmoExp $28 // GEANT4 tag $Name: geant4-09-0 2$ 1.827 // $Id: G4LundStringFragmentation.cc,v 1.14 2009/05/22 16:36:46 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $ 1.8 29 29 // 30 30 // ----------------------------------------------------------------------------- … … 508 508 { 509 509 do 510 { 511 Pt=SampleQuarkPt(); Pt.setZ(0); G4double Pt2=Pt.mag2(); 510 { 511 // GF 22-May-09, limit sampled pt to allowed range 512 513 G4double termD = InitialMass*InitialMass -Mass*Mass - AntiMass*AntiMass; 514 G4double termab = 4*sqr(Mass*AntiMass); 515 G4double termN = 2*termD + 4*Mass*Mass + 4*AntiMass*AntiMass; 516 G4double pt2max=(termD*termD - termab )/ termN ; 517 518 // G4cout << " termD, ab, N " << termD << " " << termab << " " << termN 519 // << " pt2max= " << pt2max ; 520 521 Pt=SampleQuarkPt(sqrt(pt2max)); Pt.setZ(0); G4double Pt2=Pt.mag2(); 522 523 524 // G4cout << " sampled Pt2 = " << Pt2 << " " << pt2max-Pt2 << G4endl; 525 // end.. GF 512 526 513 527 //G4cout<<"Sample4Momentum Pt x y "<<Pt.getX()<<" "<<Pt.getY()<<G4endl; … … 521 535 4.*MassMt2*AntiMassMt2; 522 536 } 523 while(AvailablePz2 < 0.); 537 while(AvailablePz2 < 0.); // GF will occur only for numerical precision problem with limit in sampled pt 524 538 525 539 AvailablePz2 /=(4.*InitialMass*InitialMass); -
trunk/source/processes/hadronic/models/parton_string/hadronization/src/G4VLongitudinalStringDecay.cc
r1007 r1055 25 25 // 26 26 // 27 // $Id: G4VLongitudinalStringDecay.cc,v 1.1 3 2008/06/23 08:35:55 vuzhinskExp $28 // GEANT4 tag $Name: geant4-09-0 2$27 // $Id: G4VLongitudinalStringDecay.cc,v 1.14 2009/05/22 16:35:47 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $ 29 29 // 30 30 // ----------------------------------------------------------------------------- … … 485 485 // } 486 486 487 G4ThreeVector G4VLongitudinalStringDecay::SampleQuarkPt( )487 G4ThreeVector G4VLongitudinalStringDecay::SampleQuarkPt(G4double ptMax) 488 488 { 489 G4double Pt = -std::log(G4UniformRand()); 489 G4double Pt; 490 if ( ptMax < 0 ) { 491 // sample full gaussian 492 Pt = -std::log(G4UniformRand()); 493 } else { 494 // sample in limited range 495 Pt = -std::log(CLHEP::RandFlat::shoot(exp(-sqr(ptMax)/sqr(SigmaQT)), 1.)); 496 } 490 497 Pt = SigmaQT * std::sqrt(Pt); 491 498 G4double phi = 2.*pi*G4UniformRand(); -
trunk/source/processes/hadronic/models/parton_string/qgsm/History
r962 r1055 1 $Id: History,v 1. 6 2008/09/19 09:54:23gunter Exp $1 $Id: History,v 1.8 2009/05/19 12:48:42 gunter Exp $ 2 2 ------------------------------------------------------------------- 3 3 … … 16 16 --------------------------------------------------------------- 17 17 18 19 May 2009, G.Folger (hadr-qgsm-V09-02-02) 19 ----------------------------------------------------- 20 - fix in G4SPBaryon: for antibaryon, a diquark & quark was given instead of 21 anti-diquark & antiquark; note the reverse order, too. 22 Fixes problems with incident anti baryons, e.g. antiproton, manifesting 23 in problems with forming hadrons. 24 25 29 Apr 2009 m. Kosov (hadr-qgsm-V09-02-01) 26 ------------------------------------------------ 27 Very important bug fix in G4QGSParticipants.cc to let QGSC working from E=0 28 Added by GF (19-May-09): 29 - this very important "bug" fix modifies G4G4QGSParticipants.cc and 30 G4GammaParticipants.cc: 31 changing the value of Threshold from 0.45 GeV to 0.GeV, 32 and disables an Exception if s < sqr(total mass + Threshold) 18 33 19 34 15 Sep 2008 G.Folger (hadr-qgsm-V09-01-01) -
trunk/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSParticipants.hh
r819 r1055 83 83 enum { SOFT, DIFFRACTIVE }; 84 84 const G4int nCutMax; 85 const G4double Th ersholdParameter;86 const G4double QGSMTh ershold;85 const G4double ThresholdParameter; 86 const G4double QGSMThreshold; 87 87 const G4double theNucleonRadius; 88 88 -
trunk/source/processes/hadronic/models/parton_string/qgsm/src/G4GammaParticipants.cc
r819 r1055 50 50 G4double ThresholdMass = thePrimary.GetMass() + theTargetNuc[0]->GetDefinition()->GetPDGMass(); 51 51 ModelMode = SOFT; 52 if (sqr(ThresholdMass + Th ersholdParameter) > s)52 if (sqr(ThresholdMass + ThresholdParameter) > s) 53 53 { 54 throw G4HadronicException(__FILE__, __LINE__, "Initial energy is too low. The 4-vectors of the input are inconsistant with the particle masses."); 54 ModelMode = DIFFRACTIVE; 55 //throw G4HadronicException(__FILE__, __LINE__, "Initial energy is too low. The 4-vectors of the input are inconsistant with the particle masses."); 55 56 } 56 if (sqr(ThresholdMass + QGSMTh ershold) > s) // thus only diffractive in cascade!57 if (sqr(ThresholdMass + QGSMThreshold) > s) // thus only diffractive in cascade! 57 58 { 58 59 ModelMode = DIFFRACTIVE; -
trunk/source/processes/hadronic/models/parton_string/qgsm/src/G4QGSParticipants.cc
r962 r1055 36 36 37 37 G4QGSParticipants::G4QGSParticipants() : theDiffExcitaton(), //0.7*GeV, 250*MeV, 250*MeV), 38 nCutMax(7),ThersholdParameter(0.45*GeV), 39 QGSMThershold(3*GeV),theNucleonRadius(1.5*fermi) 38 //nCutMax(7),ThresholdParameter(0.45*GeV), 39 nCutMax(7),ThresholdParameter(0.000*GeV), 40 QGSMThreshold(3*GeV),theNucleonRadius(1.5*fermi) 40 41 41 42 { … … 43 44 44 45 G4QGSParticipants::G4QGSParticipants(const G4QGSParticipants &right) 45 : G4VParticipants(), nCutMax(right.nCutMax),Th ersholdParameter(right.ThersholdParameter),46 QGSMTh ershold(right.QGSMThershold),theNucleonRadius(right.theNucleonRadius)46 : G4VParticipants(), nCutMax(right.nCutMax),ThresholdParameter(right.ThresholdParameter), 47 QGSMThreshold(right.QGSMThreshold),theNucleonRadius(right.theNucleonRadius) 47 48 { 48 49 } … … 91 92 G4double ThresholdMass = thePrimary.GetMass() + pNucleon->GetDefinition()->GetPDGMass(); 92 93 ModelMode = SOFT; 93 if (sqr(ThresholdMass + ThersholdParameter) > s) 94 { 95 throw G4HadronicException(__FILE__, __LINE__, "Initial energy is too low. The 4-vectors of the input are inconsistant with the particle masses."); 96 } 97 if (sqr(ThresholdMass + QGSMThershold) > s) // thus only diffractive in cascade! 94 if (sqr(ThresholdMass + ThresholdParameter) > s) 95 { 96 ModelMode = DIFFRACTIVE; 97 //throw G4HadronicException(__FILE__, __LINE__, "Initial energy is too low. The 4-vectors of the input are inconsistant with the particle masses."); 98 } 99 if (sqr(ThresholdMass + QGSMThreshold) > s) // thus only diffractive in cascade! 98 100 { 99 101 ModelMode = DIFFRACTIVE; -
trunk/source/processes/hadronic/models/parton_string/qgsm/src/G4SPBaryon.cc
r819 r1055 104 104 if (theDefinition->GetPDGEncoding() < 0) 105 105 { 106 quark = -(*i)->GetDiQuark();107 diQuark = -(*i)->GetQuark();106 quark = (*i)->GetDiQuark(); 107 diQuark = (*i)->GetQuark(); 108 108 } 109 109 else
Note: See TracChangeset
for help on using the changeset viewer.