Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/fragmentation/src/G4QFragmentation.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4QFragmentation.cc,v 1.15 2010/06/19 07:46:44 mkossov Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4QFragmentation.cc,v 1.17 2010/06/25 14:03:44 mkossov Exp $
     28// GEANT4 tag $Name: hadr-chips-V09-03-08 $
    2929//
    3030// -----------------------------------------------------------------------------
     
    5353
    5454// Definition of static parameters
    55 G4int    G4QFragmentation::nCutMax=7;
    56 G4double G4QFragmentation::stringTension=2.*GeV/fermi;
     55G4int    G4QFragmentation::nCutMax=27;
     56G4double G4QFragmentation::stringTension=1.5*GeV/fermi;
    5757//G4double G4QFragmentation::tubeDensity  =1./fermi;
    58 G4double G4QFragmentation::tubeDensity  =0./fermi;
     58G4double G4QFragmentation::tubeDensity  =.5/fermi;
    5959// Parameters of diffractional fragmentation (was .72*)
    6060G4double G4QFragmentation::widthOfPtSquare=-GeV*GeV;// pt -width2 forStringExcitation
     
    17581758  static const G4double  mPiCh = G4QPDGCode(211).GetMass();  // Mass of chgdPion
    17591759  static const G4double  mPiZr = G4QPDGCode(111).GetMass();  // Mass of neutrPion
     1760  static const G4LorentzVector  nul4M(0.,0.,0.,0.);          // Zero (vacuum) 4M
    17601761#ifdef debug
    17611762  G4cout<<"*******>G4QFragmentation::Fragment: ***Called***, Res="<<theResult<<G4endl;
     
    19871988      for(G4int j=0; j<nOut; j++)            // LOOP over Hadrons transferring to LS    |
    19881989      {                                      //                                         |
    1989         G4QHadron* curHadron=(*output)[j];   // Hadron from the nucleus fragmentation   |
    1990         if(nucE) curHadron->Boost(nucVel);   // Boost it back to Laboratory System      |
    1991         theResult->push_back(curHadron);     // Transfer it to the result               |
     1990        G4QHadron* curHadr=(*output)[j];     // Hadron from the nucleus fragmentation   |
     1991        if(nucE) curHadr->Boost(nucVel);     // Boost it back to Laboratory System      |
     1992        G4int hPDG=curHadr->GetPDGCode();    // PDGC of the hadron                      |
     1993        G4LorentzVector h4M=curHadr->Get4Momentum(); // 4-mom of the hadron             |
     1994        if((hPDG!=90000000 && hPDG!=22) || h4M!=nul4M) theResult->push_back(curHadr); //|
     1995        else delete curHadr;                 // delete zero-photons                     |
    19921996      }                                      //                                         |
    19931997      delete output;                         // Delete the OUTPUT <-----<-----<-----<---+
     
    21412145    G4int found=0;
    21422146    G4int hPDG=(*theResult)[i]->GetPDGCode();
    2143     if(hPDG==90000000 && (*theResult)[i]->Get4Momentum()>0.)
    2144                                                            (*theResult)[i]->SetPDGCode(22);
     2147    if(hPDG==90000000 || hPDG==22)
     2148    {
     2149      G4QHadron* curHadr=(*theResult)[i];
     2150      G4LorentzVector curh4M=curHadr->Get4Momentum();
     2151      if     ( curh4M > 0.) curHadr->SetPDGCode(22);
     2152      else if( curh4M == nul4M)
     2153      {
     2154        G4QHadron* theLast = (*theResult)[nHd-1];
     2155        if(theLast != curHadr)
     2156        {
     2157          curHadr->Set4Momentum(theLast->Get4Momentum()); //4-Mom of CurHadr
     2158          G4QPDGCode lQP=theLast->GetQPDG();
     2159          if(lQP.GetPDGCode()!=10) curHadr->SetQPDG(lQP);
     2160          else curHadr->SetQC(theLast->GetQC());
     2161        }
     2162        theResult->pop_back(); // theLastQHadron is excluded from OUTPUT
     2163        --nHd;
     2164        delete theLast;        //*!!When kill, delete theLastQHadr as an Instance!*
     2165        break;
     2166      }
     2167    }
    21452168    else if(hPDG==2212 || hPDG==2112)
    21462169    {
Note: See TracChangeset for help on using the changeset viewer.