- Timestamp:
- May 28, 2009, 4:26:57 PM (15 years ago)
- Location:
- trunk/source/processes/hadronic/models/parton_string/hadronization
- Files:
-
- 7 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();
Note: See TracChangeset
for help on using the changeset viewer.