Ignore:
Timestamp:
May 28, 2009, 4:26:57 PM (15 years ago)
Author:
garnier
Message:

maj sur la beta de geant 4.9.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QPDGCode.cc

    r1007 r1055  
    2525//
    2626//
    27 // $Id: G4QPDGCode.cc,v 1.56 2008/03/20 20:11:38 dennis Exp $
    28 // GEANT4 tag $Name: geant4-09-02 $
     27// $Id: G4QPDGCode.cc,v 1.57 2009/02/23 09:49:24 mkossov Exp $
     28// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
    2929//
    3030//      ---------------- G4QPDGCode ----------------
    3131//             by Mikhail Kossov, Sept 1999.
    3232//      class for Hadron definitions in CHIPS Model
     33// -------------------------------------------------------------------
     34// Short description: The PDG Code is made on the basis of the Quark
     35// Content (G4QuarkContent) of the hadronic state (including nuclear
     36// fragments). The PDG code of the ground state (e.g. pi, N, etc.) is
     37// calculated. It includes a complicated algortithm of the G.S. mass
     38// calculation for nuclear fragments (now it is synchronised with the
     39// G4 nuclear massess).
    3340// -------------------------------------------------------------------
    3441
     
    222229  static G4int qC[modi] = { 11,   12,   13,   14,   15,   16,   22,   23,   24,   25, // 10
    223230                            37,  110,  220,  330,  111,  211,  221,  311,  321,  331, // 20
    224                                                                     2112, 2212, 3122, 3112, 3212, 3222, 3312, 3322,  113,  213, // 30
    225                                                                      223,  313,  323,  333, 1114, 2114, 2214, 2224, 3124, 3114, // 40
     231                          2112, 2212, 3122, 3112, 3212, 3222, 3312, 3322,  113,  213, // 30
     232                           223,  313,  323,  333, 1114, 2114, 2214, 2224, 3124, 3114, // 40
    226233                          3214, 3224, 3314, 3324, 3334,  115,  215,  225,  315,  325, // 50
    227234                           335, 2116, 2216, 3126, 3116, 3216, 3226, 3316, 3326,  117, // 60
     
    235242                           91001999 , 90001002 , 90002001 , 91000002 , 91001001 ,     //110
    236243                           91002000 , 92000001 , 92001000 , 90999003 , 90001003 ,
    237                                                    90002002 , 90003001 , 91001002 , 91002001 , 92000002 ,     //120
     244         90002002 , 90003001 , 91001002 , 91002001 , 92000002 ,     //120
    238245                           92001001 , 92002000};
    239246  static G4int aC[15] = {1,1000,999001,1000000,1000999,1999000,1999999,        // sum 1
     
    269276    ,  1691.,   1667.,    1776.,    1776.,   1854.,   1950.,  1950.,  1950.,  1950.,  2100.
    270277    ,  2030.,   2030.,    2030.,    2127.,   2127.,   2252.,  2020.,  2020.,  2044.,  2045.
    271            , 2045., 2297., 2170.272, 2171.565, 2464., 2464., 3108.544, 3111.13,3402.272,3403.565};
     278    , 2045., 2297., 2170.272, 2171.565, 2464., 2464., 3108.544, 3111.13,3402.272,3403.565};
    272279  if(iniFlag) // Initialization of the Geant4 hadronic masses
    273                 {
    274                                 m[ 0]=      G4Electron::Electron()->GetPDGMass();
    275                                 m[ 1]=    G4NeutrinoE::NeutrinoE()->GetPDGMass();
    276                                 m[ 2]=    G4MuonMinus::MuonMinus()->GetPDGMass();
    277                                 m[ 3]=  G4NeutrinoMu::NeutrinoMu()->GetPDGMass();
    278                                 m[ 4]=      G4TauMinus::TauMinus()->GetPDGMass();
    279                                 m[ 5]=G4NeutrinoTau::NeutrinoTau()->GetPDGMass();
    280                                 m[14]=      G4PionZero::PionZero()->GetPDGMass();
    281                                 m[15]=    G4PionMinus::PionMinus()->GetPDGMass();
    282                                 m[16]=                G4Eta::Eta()->GetPDGMass();
    283                                 m[17]=      G4KaonZero::KaonZero()->GetPDGMass();
    284                                 m[18]=    G4KaonMinus::KaonMinus()->GetPDGMass();
    285                                 m[19]=      G4EtaPrime::EtaPrime()->GetPDGMass();
    286                                 m[20]=        G4Neutron::Neutron()->GetPDGMass();
    287                                 m[21]=          G4Proton::Proton()->GetPDGMass();
    288                                 m[22]=          G4Lambda::Lambda()->GetPDGMass();
    289                                 m[23]=  G4SigmaMinus::SigmaMinus()->GetPDGMass();
    290                                 m[24]=    G4SigmaZero::SigmaZero()->GetPDGMass();
    291                                 m[25]=    G4SigmaPlus::SigmaPlus()->GetPDGMass();
    292                                 m[26]=        G4XiMinus::XiMinus()->GetPDGMass();
    293                                 m[27]=          G4XiZero::XiZero()->GetPDGMass();
    294                                 m[44]=  G4OmegaMinus::OmegaMinus()->GetPDGMass();
     280  {
     281    m[ 0]=      G4Electron::Electron()->GetPDGMass();
     282    m[ 1]=    G4NeutrinoE::NeutrinoE()->GetPDGMass();
     283    m[ 2]=    G4MuonMinus::MuonMinus()->GetPDGMass();
     284    m[ 3]=  G4NeutrinoMu::NeutrinoMu()->GetPDGMass();
     285    m[ 4]=      G4TauMinus::TauMinus()->GetPDGMass();
     286    m[ 5]=G4NeutrinoTau::NeutrinoTau()->GetPDGMass();
     287    m[14]=      G4PionZero::PionZero()->GetPDGMass();
     288    m[15]=    G4PionMinus::PionMinus()->GetPDGMass();
     289    m[16]=                G4Eta::Eta()->GetPDGMass();
     290    m[17]=      G4KaonZero::KaonZero()->GetPDGMass();
     291    m[18]=    G4KaonMinus::KaonMinus()->GetPDGMass();
     292    m[19]=      G4EtaPrime::EtaPrime()->GetPDGMass();
     293    m[20]=        G4Neutron::Neutron()->GetPDGMass();
     294    m[21]=          G4Proton::Proton()->GetPDGMass();
     295    m[22]=          G4Lambda::Lambda()->GetPDGMass();
     296    m[23]=  G4SigmaMinus::SigmaMinus()->GetPDGMass();
     297    m[24]=    G4SigmaZero::SigmaZero()->GetPDGMass();
     298    m[25]=    G4SigmaPlus::SigmaPlus()->GetPDGMass();
     299    m[26]=        G4XiMinus::XiMinus()->GetPDGMass();
     300    m[27]=          G4XiZero::XiZero()->GetPDGMass();
     301    m[44]=  G4OmegaMinus::OmegaMinus()->GetPDGMass();
    295302    iniFlag=false;
    296303  }
    297304  if(nQ<0 || nQ>=nQHM)
    298                 {
     305  {
    299306    G4cout<<"***G4QPDGCode::QHaM: negative Q-code or Q="<<nQ<<" >= nQmax = "<<nQHM<<G4endl;
    300307    return 0.;
     
    327334#endif
    328335    if(b<0)                                        // ---> Baryons & Fragments
    329            {
    330              b=-b;
     336    {
     337      b=-b;
    331338      n=-n;
    332339      z=-z;
     
    335342    }
    336343    else if(!b)                                    // --> Mesons
    337            {
     344    {
    338345      //G4bool anti=false;                           // For the PDG conversion
    339346      if(z<0)                                      // --> Mesons conversion
    340              {
     347      {
    341348        n=-n;
    342349        z=-z;
     
    345352      }
    346353      if(!z)
    347              {
     354      {
    348355        if(s>0)
    349                {
     356        {
    350357          n=-n;
    351358          s=-s;
     
    357364      }
    358365      else                                         // --> z>0
    359              {
     366      {
    360367        if(z==1)
    361368        {
     
    368375    } // End of meson case
    369376    if(b>0)                                        // --> Baryon case
    370            {
     377    {
    371378      if(b==1)
    372              {
     379      {
    373380        if(!s)                                     // --> Baryons
    374                       {
     381        {
    375382          if(z==-1)    return 34;                  // Delta-
    376383          else if(!z)  return 91;                  // neutron
     
    381388        }
    382389        else if(s==1)                              // --> Hyperons
    383                       {
     390        {
    384391          if(z==-1)    return 93;                  // Sigma-
    385392          else if(!z)  return 92;                  // Lambda (@@ 24->Sigma0)
     
    389396        }
    390397        else if(s==2)                              // --> Xi Hyperons
    391                       {
     398        {
    392399          if(z==-1)    return 95;                  // Xi-
    393400          else if(!z)  return 96;                  // Xi0
     
    396403        }
    397404        else if(s==3)                              // --> Xi Hyperons
    398                       {
     405        {
    399406          if(z==-1)    return 97;                  // Omega-
    400407          else if(!z||z==-2)  return -1;           // Omega+pi Chipolino
     
    403410      }
    404411      else
    405              {
     412      {
    406413        if(b==2)
    407414        {
     
    457464    G4int p=PDGC/10;                // Quark Content
    458465    if(r%2)                         // (2s+1 is odd) Mesons are all the same
    459            {
     466    {
    460467      if     (p==11) return Q+=1;
    461468      else if(p==21) return Q+=2;
     
    471478        return -2;
    472479      }
    473            }
     480    }
    474481    else                    // (2s+1 is even) Baryons
    475            {
     482    {
    476483      G4int s=r/2;
    477484      if(s%2)               // ((2s+1)/2 is odd) N Family
    478              {
     485      {
    479486        if     (p==211) return Q+=1;
    480487        else if(p==221) return Q+=2;
     
    492499          return -2;
    493500        }
    494              }
    495              else                  // ((2s+1)/2 is odd) Delta Family
    496              {
     501      }
     502      else                  // ((2s+1)/2 is odd) Delta Family
     503      {
    497504        if     (p==111) return Q+= 1;
    498505        else if(p==211) return Q+= 2;
     
    513520          return -2;
    514521        }
    515              }
    516            }
     522      }
     523    }
    517524  }
    518525  else                        // Nuclear Fragments
     
    527534#endif
    528535      return -2;
    529            }
     536    }
    530537    else
    531            {
     538    {
    532539      G4int b=t/3;            // baryon number
    533540      if(b==1)                // baryons
     
    604611      }
    605612      else
    606              {
     613      {
    607614        if     (s==0&&u==-1&&d== 1) return Q+=1;
    608615        else if(s==0&&u== 0&&d== 0) return Q+=2;
     
    620627          return -2;
    621628        }
    622              }
    623            }
     629      }
     630    }
    624631  }
    625632#ifdef pdebug
     
    634641  G4int ab=theQCode;
    635642#ifdef debug
    636                 G4cout<<"G4QPDGCode::GetMass: Mass for Q="<<ab<<",PDG="<<thePDGCode<<",N="<<nQHM<<G4endl;
     643  G4cout<<"G4QPDGCode::GetMass: Mass for Q="<<ab<<",PDG="<<thePDGCode<<",N="<<nQHM<<G4endl;
    637644#endif
    638645  if ( (ab < 0 && thePDGCode < 80000000) || !thePDGCode) {
     
    664671  G4double m=GetNuclMass(z,n,s);
    665672#ifdef debug
    666                 G4cout<<"G4QPDG::GetM:PDG="<<thePDGCode<<"=>Z="<<z<<",N="<<n<<",S="<<s<<",M="<<m<<G4endl;
     673  G4cout<<"G4QPDG::GetM:PDG="<<thePDGCode<<"=>Z="<<z<<",N="<<n<<",S="<<s<<",M="<<m<<G4endl;
    667674#endif
    668675  return m;
     
    684691    , 160., 168., 159., 159.,  87., 300., 300.,  300., 300., 200.
    685692    , 180., 180., 180.,  99.,  99.,  55., 387.,  387., 208., 198.
    686            , 198., 149., 120., 120., 170., 170., 120.,  120., 170., 170.};
     693    , 198., 149., 120., 120., 170., 170., 120.,  120., 170., 170.};
    687694  G4int ab=abs(theQCode);
    688695  if(ab<nW) return width[ab];
     
    730737  static const G4int iNF[nEl]={0,0,0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // 14
    731738                         1  ,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, // 29
    732                                                                                                                                                                                                         16 , 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, // 44
    733                                                                                                                                                                                                         31 , 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 53, 54, 55, // 59
     739                         16 , 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, // 44
     740                         31 , 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 53, 54, 55, // 59
    734741                         56 , 56, 57, 57, 58, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, // 74
    735742                         71 , 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, // 89
     
    738745  static G4int iNmin[nEl]={0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // 14
    739746                         1  ,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, // 29
    740                                                                                                                                                                                                         16 , 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, // 44
    741                                                                                                                                                                                                         31 , 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 53, 54, 55, // 59
     747                         16 , 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, // 44
     748                         31 , 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 53, 54, 55, // 59
    742749                         56 , 56, 57, 57, 58, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, // 74
    743750                         71 , 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, // 89
     
    746753  static G4int iNran[nEl]={19,20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, // 14
    747754                         34 , 35, 36, 37, 38, 39, 40, 48, 48, 48, 48, 50, 50, 50, 52, // 29
    748                                                                                                                                                                                                         53 , 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, // 44
    749                                                                                                                                                                                                         68 , 69, 70, 70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, // 59
     755                         53 , 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, // 44
     756                         68 , 69, 70, 70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, // 59
    750757                         73 , 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, // 74
    751758                         76 , 76, 76, 76, 76, 75, 74, 73, 72, 71, 70, 70, 69, 69, 69, // 89
     
    754761  static const G4int iNL[nEl]={19,20,21,22,23,24, 25, 26, 27, 28, 29, 30, 31, 32, 33, // 14
    755762                         34 , 35, 36, 37, 38, 39, 40, 48, 48, 48, 48, 50, 50, 50, 52, // 29
    756                                                                                                                                                                                                         53 , 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, // 44
    757                                                                                                                                                                                                         68 , 69, 70, 70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, // 59
     763                         53 , 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, // 44
     764                         68 , 69, 70, 70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, // 59
    758765                         73 , 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, // 74
    759766                         76 , 76, 76, 76, 76, 75, 74, 73, 72, 71, 70, 70, 69, 69, 69, // 89
    760767                         68 , 68, 68, 67, 63, 59, 55, 51, 47, 43, 39, 35, 31, 27, 23};//104
    761768   // ********* S=-4 vectors *************
    762                 static G4bool iNin6[nEl]={false,false,false,false,false,false,false,
    763     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    764     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    765     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    766     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    767     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    768     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    769                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     769  static G4bool iNin6[nEl]={false,false,false,false,false,false,false,
     770    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     771    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     772    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     773    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     774    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     775    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     776    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    770777  static G4double VZ6[nEl][iNR];
    771778  //********* S=-3 vectors *************
    772                 static G4bool iNin7[nEl]={false,false,false,false,false,false,false,
    773     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    774     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    775     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    776     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    777     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    778     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    779                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     779  static G4bool iNin7[nEl]={false,false,false,false,false,false,false,
     780    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     781    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     782    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     783    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     784    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     785    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     786    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    780787  static G4double VZ7[nEl][iNR];
    781788  // ********* S=-2 vectors *************
    782                 static G4bool iNin8[nEl]={false,false,false,false,false,false,false,
    783     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    784     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    785     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    786     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    787     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    788     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    789                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     789  static G4bool iNin8[nEl]={false,false,false,false,false,false,false,
     790    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     791    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     792    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     793    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     794    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     795    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     796    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    790797  static G4double VZ8[nEl][iNR];
    791798  // ********* S=-1 vectors *************
    792                 static G4bool iNin9[nEl]={false,false,false,false,false,false,false,
    793     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    794     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    795     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    796     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    797     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    798     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    799                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     799  static G4bool iNin9[nEl]={false,false,false,false,false,false,false,
     800    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     801    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     802    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     803    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     804    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     805    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     806    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    800807  static G4double VZ9[nEl][iNR];
    801808  // ********* S=0 vectors *************
    802                 static G4bool iNin0[nEl]={false,false,false,false,false,false,false,
    803     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    804     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    805     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    806     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    807     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    808     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    809                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     809  static G4bool iNin0[nEl]={false,false,false,false,false,false,false,
     810    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     811    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     812    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     813    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     814    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     815    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     816    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    810817 static G4double VZ0[nEl][iNR];
    811818  // ********* S=1 vectors *************
    812                 static G4bool iNin1[nEl]={false,false,false,false,false,false,false,
    813     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    814     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    815     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    816     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    817     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    818     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    819                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     819  static G4bool iNin1[nEl]={false,false,false,false,false,false,false,
     820    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     821    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     822    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     823    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     824    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     825    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     826    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    820827  static G4double VZ1[nEl][iNR];
    821828  // ********* S=2 vectors *************
    822                 static G4bool iNin2[nEl]={false,false,false,false,false,false,false,
    823     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    824     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    825     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    826     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    827     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    828     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    829                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     829  static G4bool iNin2[nEl]={false,false,false,false,false,false,false,
     830    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     831    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     832    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     833    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     834    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     835    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     836    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    830837  static G4double VZ2[nEl][iNR];
    831838  // ********* S=3 vectors *************
    832                 static G4bool iNin3[nEl]={false,false,false,false,false,false,false,
    833     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    834     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    835     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    836     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    837     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    838     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    839                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     839  static G4bool iNin3[nEl]={false,false,false,false,false,false,false,
     840    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     841    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     842    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     843    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     844    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     845    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     846    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    840847  static G4double VZ3[nEl][iNR];
    841848  // ********* S=2 vectors *************
    842                 static G4bool iNin4[nEl]={false,false,false,false,false,false,false,
    843     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    844     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    845     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    846     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    847     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    848     false,false,false,false,false,false,false,false,false,false,false,false,false,false,
    849                                 false,false,false,false,false,false,false,false,false,false,false,false,false,false};
     849  static G4bool iNin4[nEl]={false,false,false,false,false,false,false,
     850    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     851    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     852    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     853    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     854    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     855    false,false,false,false,false,false,false,false,false,false,false,false,false,false,
     856    false,false,false,false,false,false,false,false,false,false,false,false,false,false};
    850857  static G4double VZ4[nEl][iNR];
    851858  //
     
    863870  G4int zns=nz+s;
    864871  if(nz+s<0)
    865                 {
     872  {
    866873    z=-z;
    867874    n=-n;
     
    871878  }
    872879  if(z<0)
    873                 {
     880  {
    874881    if(z==-1)
    875                         {
     882    {
    876883      if(!s)
    877                                                 {
     884      {
    878885        if(n==1)      return mPiC;              // pi-
    879886        else          return mPiC+(n-1)*mNeut;  // Delta- + (N-1)*n
    880887      }
    881888      else if(s==1)                             // Strange negative hadron
    882                                                 {
     889      {
    883890        if(!n)        return mKM;               // K-
    884891        else if(n==1) return mSiM;              // Sigma-
     
    888895      }
    889896      else if(s==2)                             // --> Double-strange negative hadrons
    890                                                 {
     897      {
    891898        if(!n)        return mKsM;              // Ksi-
    892899        else if(n==1) return mKsiM+mNeut;       // Ksi- + n
     
    986993  }
    987994  else if(n<0)
    988                 {
     995  {
    989996    if(n==-1)
    990                         {
     997    {
    991998      if(!s)
    992                                                 {
     999      {
    9931000        if(z==1)      return mPiC;              // pi+
    9941001        else          return mPiC+(z-1)*mProt;  // Delta++ + (Z-1)*p
    995                                         }
     1002      }
    9961003      else if(s==1)                             // --> Strange neutral hadrons
    997                                                 {
     1004      {
    9981005        if(!z)        return mKZ;               // K0
    9991006        else if(z==1) return mSiP;              // Sigma+
     
    10031010      }
    10041011      else if(s==2)                             // --> Double-strange negative hadrons
    1005                                                 {
     1012      {
    10061013        if(!z)        return mKsZ;              // Ksi0
    10071014        else if(z==1) return mKsiZ+mProt;       // Ksi- + p
     
    10951102  //return CalculateNuclMass(z,n,s); // @@ This is just to compare the calculation time @@
    10961103  if(!s)                   // **************> S=0 nucleus
    1097                 {
     1104  {
    10981105    if(nz==256) return 256000.;
    10991106    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    11001107    if(!iNin0[z])          // ====> This element is already initialized
    1101                                 {
     1108    {
    11021109#ifdef idebug
    11031110      G4cout<<"**>G4QPDGCode::GetMass:Z="<<z<<", S=0 is initialized. F="<<iNin0[z]<<G4endl;
     
    11101117    G4int dNn=n-Nmin;
    11111118    if(dNn<0)              // --> The minimum N must be reduced
    1112                                 {
     1119    {
    11131120#ifdef qdebug
    11141121      if(n<iNmin[z])
     
    11221129    else if(dNn<iNL[z]) return VZ0[z][dNn]; // Found in DAM
    11231130    else                   // --> The maximum N must be increased
    1124                                 {
     1131    {
    11251132#ifdef qdebug
    11261133      if(dNn>iNmax)
     
    11391146  }
    11401147  else if(s==1)            // ******************> S=1 nucleus
    1141                 {
     1148  {
    11421149
    11431150    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    11441151    if(!iNin1[z])          // ====> This element is already initialized
    1145                                 {
     1152    {
    11461153#ifdef idebug
    11471154      G4cout<<"**>G4QPDGCode::GetMass:Z="<<z<<", S=1 is initialized. F="<<iNin1[z]<<G4endl;
     
    11541161    G4int dNn=n-Nmin;
    11551162    if(dNn<0)              // --> The minimum N must be reduced
    1156                                 {
     1163    {
    11571164#ifdef qdebug
    11581165      if(n<iNmin[z])
     
    11661173    else if(dNn<iNL[z]) return VZ1[z][dNn]; // Found in DAM
    11671174    else                   // --> The maximum N must be increased
    1168                                 {
     1175    {
    11691176#ifdef qdebug
    11701177      if(dNn>iNmax)
     
    11831190  }
    11841191  else if(s==-1)           // ******************> S=-1 nucleus
    1185                 {
     1192  {
    11861193    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    11871194    if(!iNin9[z])          // ====> This element is already initialized
    1188                                 {
     1195    {
    11891196#ifdef idebug
    11901197      G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=-1 is initialized. F="<<iNin9[z]<<G4endl;
     
    11971204    G4int dNn=n-Nmin;
    11981205    if(dNn<0)              // --> The minimum N must be reduced
    1199                                 {
     1206    {
    12001207#ifdef qdebug
    12011208      if(n<iNmin[z])
     
    12091216    else if(dNn<iNL[z]) return VZ9[z][dNn]; // Found in DAM
    12101217    else                   // --> The maximum N must be increased
    1211                                 {
     1218    {
    12121219#ifdef qdebug
    12131220      if(dNn>iNmax)
     
    12261233  }
    12271234  else if(s==2)            // ******************> S=2 nucleus
    1228                 {
     1235  {
    12291236    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    12301237    if(!iNin2[z])          // ====> This element is already initialized
    1231                                 {
     1238    {
    12321239#ifdef idebug
    12331240      G4cout<<"**>G4QPDGCode::GetMass:Z="<<z<<", S=2 is initialized. F="<<iNin2[z]<<G4endl;
     
    12401247    G4int dNn=n-Nmin;
    12411248    if(dNn<0)              // --> The minimum N must be reduced
    1242                                 {
     1249    {
    12431250#ifdef qdebug
    12441251      if(n<iNmin[z])
     
    12521259    else if(dNn<iNL[z]) return VZ2[z][dNn]; // Found in DAM
    12531260    else                   // --> The maximum N must be increased
    1254                                 {
     1261    {
    12551262#ifdef qdebug
    12561263      if(dNn>iNmax)
     
    12691276  }
    12701277  else if(s==-2)           // ******************> S=-2 nucleus
    1271                 {
     1278  {
    12721279    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    12731280    if(!iNin8[z])          // ====> This element is already initialized
    1274                                 {
     1281    {
    12751282#ifdef idebug
    12761283      G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=-2 is initialized. F="<<iNin8[z]<<G4endl;
     
    12831290    G4int dNn=n-Nmin;
    12841291    if(dNn<0)              // --> The minimum N must be reduced
    1285                                 {
     1292    {
    12861293#ifdef qdebug
    12871294      if(n<iNmin[z])
     
    12951302    else if(dNn<iNL[z]) return VZ8[z][dNn]; // Found in DAM
    12961303    else                   // --> The maximum N must be increased
    1297                                 {
     1304    {
    12981305#ifdef qdebug
    12991306      if(dNn>iNmax)
     
    13121319  }
    13131320  else if(s==-3)           // ******************> S=-3 nucleus
    1314                 {
     1321  {
    13151322    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    13161323    if(!iNin7[z])          // ====> This element is already initialized
    1317                                 {
     1324    {
    13181325#ifdef idebug
    13191326      G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=-3 is initialized. F="<<iNin7[z]<<G4endl;
     
    13261333    G4int dNn=n-Nmin;
    13271334    if(dNn<0)              // --> The minimum N must be reduced
    1328                                 {
     1335    {
    13291336#ifdef qdebug
    13301337      if(n<iNmin[z])
     
    13381345    else if(dNn<iNL[z]) return VZ7[z][dNn]; // Found in DAM
    13391346    else                   // --> The maximum N must be increased
    1340                                 {
     1347    {
    13411348#ifdef qdebug
    13421349      if(dNn>iNmax)
     
    13551362  }
    13561363  else if(s==3)            // ******************> S=3 nucleus
    1357                 {
     1364  {
    13581365    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    13591366    if(!iNin3[z])          // ====> This element is already initialized
    1360                                 {
     1367    {
    13611368#ifdef idebug
    13621369      G4cout<<"**>G4QPDGCode::GetMass:Z="<<z<<", S=3 is initialized. F="<<iNin3[z]<<G4endl;
     
    13691376    G4int dNn=n-Nmin;
    13701377    if(dNn<0)              // --> The minimum N must be reduced
    1371                                 {
     1378    {
    13721379#ifdef qdebug
    13731380      if(n<iNmin[z])
     
    13811388    else if(dNn<iNL[z]) return VZ3[z][dNn]; // Found in DAM
    13821389    else                   // --> The maximum N must be increased
    1383                                 {
     1390    {
    13841391#ifdef qdebug
    13851392      if(dNn>iNmax)
     
    13981405  }
    13991406  else if(s==-4)           // ******************> S=-4 nucleus
    1400                 {
     1407  {
    14011408    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    14021409    if(!iNin6[z])          // ====> This element is already initialized
    1403                                 {
     1410    {
    14041411#ifdef idebug
    14051412      G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=-4 is initialized. F="<<iNin6[z]<<G4endl;
     
    14121419    G4int dNn=n-Nmin;
    14131420    if(dNn<0)              // --> The minimum N must be reduced
    1414                                 {
     1421    {
    14151422#ifdef qdebug
    14161423      if(n<iNmin[z])
     
    14241431    else if(dNn<iNL[z]) return VZ6[z][dNn]; // Found in DAM
    14251432    else                   // --> The maximum N must be increased
    1426                                 {
     1433    {
    14271434#ifdef qdebug
    14281435      if(dNn>iNmax)
     
    14411448  }
    14421449  else if(s==4)           // ******************> S=4 nucleus
    1443                 {
     1450  {
    14441451    G4int Nmin=iNF[z];     // Minimun N(Z) for the Dynamic Associative Memory (DAM)
    14451452    if(!iNin4[z])          // ====> This element is already initialized
    1446                                 {
     1453    {
    14471454#ifdef idebug
    14481455      G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=4 is initialized. F="<<iNin4[z]<<G4endl;
     
    14551462    G4int dNn=n-Nmin;
    14561463    if(dNn<0)              // --> The minimum N must be reduced
    1457                                 {
     1464    {
    14581465#ifdef qdebug
    14591466      if(n<iNmin[z])
     
    14671474    else if(dNn<iNL[z]) return VZ4[z][dNn]; // Found in DAM
    14681475    else                   // --> The maximum N must be increased
    1469                                 {
     1476    {
    14701477#ifdef qdebug
    14711478      if(dNn>iNmax)
     
    14841491  }
    14851492  else
    1486                 {
     1493  {
    14871494#ifdef qdebug
    14881495    if(s<Smin || s>Smax)
    1489                                 {
     1496    {
    14901497      if(s<Smin) Smin=s;
    14911498      if(s>Smax) Smax=s;
     
    15871594  //static G4double c[9][9]={// z=1     =2     =3     =4     =5     =6     =7     =8     =9
    15881595  //                 {13.136,14.931,25.320,38.000,45.000,55.000,65.000,75.000,85.000},//n=1
    1589                 //                 {14.950, 2.425,11.680,18.374,27.870,35.094,48.000,60.000,72.000},  //n=2
    1590                 //                 {25.930,11.390,14.086,15.770,22.921,28.914,39.700,49.000,60.000},  //n=3
    1591                 //                 {36.830,17.594,14.908, 4.942,12.416,15.699,24.960,32.048,45.000},  //n=4
    1592                 //                 {41.860,26.110,20.946,11.348,12.051,10.650,17.338,23.111,33.610},  //n=5
    1593                 //                 {45.000,31.598,24.954,12.607, 8.668, 0.000, 5.345, 8.006,16.780},  //n=6
    1594                 //                 {50.000,40.820,33.050,20.174,13.369, 3.125, 2.863, 2.855,10.680},  //n=7
    1595                 //                 {55.000,48.810,40.796,25.076,16.562, 3.020, 0.101,-4.737,1.9520},  //n=8
    1596                 //                 {60.000,55.000,50.100,33.660,23.664, 9.873, 5.683,-0.809,0.8730}}; //n=9
     1596  //     {14.950, 2.425,11.680,18.374,27.870,35.094,48.000,60.000,72.000},  //n=2
     1597  //     {25.930,11.390,14.086,15.770,22.921,28.914,39.700,49.000,60.000},  //n=3
     1598  //     {36.830,17.594,14.908, 4.942,12.416,15.699,24.960,32.048,45.000},  //n=4
     1599  //     {41.860,26.110,20.946,11.348,12.051,10.650,17.338,23.111,33.610},  //n=5
     1600  //     {45.000,31.598,24.954,12.607, 8.668, 0.000, 5.345, 8.006,16.780},  //n=6
     1601  //     {50.000,40.820,33.050,20.174,13.369, 3.125, 2.863, 2.855,10.680},  //n=7
     1602  //     {55.000,48.810,40.796,25.076,16.562, 3.020, 0.101,-4.737,1.9520},  //n=8
     1603  //     {60.000,55.000,50.100,33.660,23.664, 9.873, 5.683,-0.809,0.8730}}; //n=9
    15971604  if(z>107)
    1598                 {
     1605  {
    15991606#ifdef debug
    16001607    G4cout<<"***G4QPDGCode::CalcNuclMass: Z="<<z<<">107, N="<<n<<", S="<<s<<G4endl;
     
    16411648      return mK;  // Simple decision
    16421649    else if(S>0)                                  // General decision
    1643            {
     1650    {
    16441651      if     (-Z>S) return S*mK-(S+Z)*mPi+eps;
    16451652      else if(Z>=0) return S*mK0+Z*mPi+eps;
     
    16471654    }
    16481655    else if(S<0)                                  // General decision
    1649            {
     1656    {
    16501657      if     (Z>-S) return -S*mK+(S+Z)*mPi+eps;
    16511658      else if(Z<=0) return -S*mK0-Z*mPi+eps;
     
    16661673    else if(!S&&N<0) return mP-mPi*N+eps;         // Positive Isonuclei
    16671674    else if(S==1)                                 // --> General decision
    1668            {
     1675    {
    16691676      if     (N>1)   return mSm+(N-1)*mPi+eps;    // (Sigma-)+(n*PI-)
    16701677      else if(Z>1)   return mSp+(Z-1)*mPi+eps;    // (Sigma+)+(n*PI+)
    16711678    }
    16721679    else if(S==2)                                 // --> General decision
    1673            {
     1680    {
    16741681      if     (N>0)   return mXm+N*mPi+eps;        // (Xi-)+(n*PI-)
    16751682      else if(Z>0)   return mXz+Z*mPi+eps;        // (Xi0)+(n*PI+)
    16761683    }
    16771684    else if(S==3)                                 // --> General decision
    1678            {
     1685    {
    16791686      if     (N>-1)  return mOm+(N+1)*mPi+eps;    // (Omega-)+(n*PI-)
    16801687      else if(Z>-1)  return mOm+(Z+1)*mPi+eps;    // (Omega-)+(n*PI+)
    16811688    }
    16821689    else if(S>3)                                  // --> General Omega- decision
    1683            {
     1690    {
    16841691      if   (-Z>S-2)  return mOm+(S-3)*mK +(2-Z-S)*mPi+eps;
    16851692      else if(Z>-1)  return mOm+(S-3)*mK0+(Z+1)+mPi+eps;
     
    17051712    else if(!S&&N<0) return dmP-mPi*N+eps;        // Positive Isonuclei
    17061713    else if(S==1)                                 // --> General decision
    1707            {
     1714    {
    17081715      if     (N>2)   return dSP+(N-2)*mPi+eps;    // (nSigma-)+(n*PI-)
    17091716      else if(Z>2)   return dSN+(Z-1)*mPi+eps;    // (pSigma+)+(n*PI+)
    17101717    }
    17111718    else if(S==2)                                 // --> General decision
    1712            {
     1719    {
    17131720      if     (N>1)   return dXN+(N-1)*mPi+eps;    // (nXi-)+(n*PI-)
    17141721      else if(Z>1)   return dXP+(Z-1)*mPi+eps;    // (pXi0)+(n*PI+)
    17151722    }
    17161723    else if(S==3)                                 // --> General decision
    1717            {
     1724    {
    17181725      if     (N>0)   return dON+N*mPi+eps;        // (nOmega-)+(n*PI-)
    17191726      else if(Z>0)   return dOP+Z*mPi+eps;        // (pOmega-)+(n*PI+)
    17201727    }
    17211728    else if(S>3)                                  // --> General Omega- decision
    1722            {
     1729    {
    17231730      if   (-Z>S-2)  return dON+(S-3)*mK +(2-Z-S)*mPi+eps;
    17241731      else if(Z>0)   return dOP+(S-3)*mK0+Z+mPi+eps;
     
    17271734    //else if(S>0)                                // @@ Implement General Decision
    17281735    //{
    1729            //  //#ifdef debug
    1730            //  G4cout<<"***G4QPDGCode::GetNuclMass:B=2, Z="<<Z<<",N="<<N<<",S="<<S<<G4endl;
    1731            //  //#endif
     1736    //  //#ifdef debug
     1737    //  G4cout<<"***G4QPDGCode::GetNuclMass:B=2, Z="<<Z<<",N="<<N<<",S="<<S<<G4endl;
     1738    //  //#endif
    17321739    //  return bigM;                              // Exotic dibaryons (?)
    17331740    //}
     
    17601767  {
    17611768    if(Zm>=-S)                        // Enough charge for K+'s
    1762            {
     1769    {
    17631770      km=-S*mK;                       // Anti-Lambdas are compensated by protons
    1764              Zm+=S;
     1771      Zm+=S;
    17651772    }
    17661773    else if(Zm>0)
    1767            {
     1774    {
    17681775      km=Zm*mK-(S+Zm)*mK0;            // Anti-Lambdas are partially compensated by neutrons
    17691776      Zm=0;
     
    17791786    G4int bH=-S-sH;                   // BigHalhS   || as in G4QE::DecayAntiStrange
    17801787    if(Z>0 && Z>N)
    1781            {
     1788    {
    17821789      if(Z>=bH)                       // => "Enough protons in nucleus" case
    1783              {
     1790      {
    17841791        if(N>=sH)
    17851792        {
     
    18231830          }
    18241831        }
    1825              }
     1832      }
    18261833      else // Must not be here
    1827              {
     1834      {
    18281835#ifdef debug
    18291836        G4cout<<"***G4QPDGC::CalcNuclMass:Antimatter? Z="<<Z<<",N="<<N<<",S="<<S<<G4endl;
    18301837#endif
    18311838        return 0.;                          // @@ Antiparticles aren't implemented @@
    1832              }
    1833            }
     1839      }
     1840    }
    18341841    else if(N>=bH)
    1835            {
     1842    {
    18361843      if(Z>=sH)
    18371844      {
     
    18751882        }
    18761883      }
    1877            }
     1884    }
    18781885    else // Must not be here
    1879            {
     1886    {
    18801887      return 0.;                            // @@ Antiparticles aren't implemented @@
    18811888#ifdef debug
    18821889        G4cout<<"***G4QPDGC::CalcNuclMass:Antimatter? N="<<N<<",Z="<<Z<<",S="<<S<<G4endl;
    18831890#endif
    1884            }
     1891    }
    18851892    S=0;
    18861893  }
     
    19231930    //else if(A==256 && Z==128) m=256000.;
    19241931    //else
    1925                                 //              m=k+G4ParticleTable::GetParticleTable()->FindIon(Z,A,0,Z)->GetPDGMass();
    1926                 //m+=-sh[Z]-sh[N]+b1*D*D*pow(fA,b2)+b3*(1.-2./(1.+exp(b4*D)))+Z*Z*(b5*pow(fA,b9)+b6/fA);
     1932    //  m=k+G4ParticleTable::GetParticleTable()->FindIon(Z,A,0,Z)->GetPDGMass();
     1933  //m+=-sh[Z]-sh[N]+b1*D*D*pow(fA,b2)+b3*(1.-2./(1.+exp(b4*D)))+Z*Z*(b5*pow(fA,b9)+b6/fA);
    19271934  }
    19281935  //@@//G4double maxM= k+Z*mP+N*mN+S*mL+eps;      // @@ eps -- Wings of the Mass parabola
     
    19501957    {   // @@ Can be generalized to anti-nuclei
    19511958#ifdef debug
    1952       G4cerr<<"**G4QPDGCode::CalcNucM:A="<<Am<<"<1 || Z="<<Zm<<"<0 || N="<<Nm<<"<0"<<G4endl;
     1959      G4cerr<<"*G4QPDGCode::CalcNucM:A="<<Am<<"<1 || Z="<<Zm<<"<0 || N="<<Nm<<"<0"<<G4endl;
    19531960#endif
    19541961    }
     
    19651972      //  mm=km+G4NucleiProperties::GetNuclearMass(Am,Zm);
    19661973      //else
    1967                                                 //  mm=km+G4ParticleTable::GetParticleTable()->FindIon(Zm,Am,0,Zm)->GetPDGMass();
    1968                                                 //  //mm+=-sh[Zm]-sh[Nm]+b1*Dm*Dm*pow(fA,b2)+b3*(1.-2./(1.+exp(b4*Dm)))
     1974      //  mm=km+G4ParticleTable::GetParticleTable()->FindIon(Zm,Am,0,Zm)->GetPDGMass();
     1975      //  //mm+=-sh[Zm]-sh[Nm]+b1*Dm*Dm*pow(fA,b2)+b3*(1.-2./(1.+exp(b4*Dm)))
    19691976      //  //    +Zm*Zm*(b5*pow(fA,b9)+b6/Am);
    19701977    }
     
    20202027    if     (ab==22) G4cout<<"-W-G4QPDGC::GetQuarkCont: For the Photon? - Return 0"<<G4endl;
    20212028    else if(ab==10) G4cout<<"-W-G4QPDGC::GetQuarkCont: For Chipolino? - Return 0"<<G4endl;
    2022            else G4cout<<"-W-G4QPDGCode::GetQuarkCont: For PDG="<<thePDGCode<<" Return 0"<<G4endl;
     2029    else G4cout<<"-W-G4QPDGCode::GetQuarkCont: For PDG="<<thePDGCode<<" Return 0"<<G4endl;
    20232030#endif
    20242031    return G4QContent(0,0,0,0,0,0); // Photon, bosons, leptons
     
    20312038    G4int t=0;         // (3)prototype of highest quark (B)
    20322039#ifdef sdebug
    2033            G4cout<<"G4QPDGCode::GetQuarkContent: a="<<ab<<", c="<<c<<", f="<<f<<", v="<<v<<G4endl;
     2040    G4cout<<"G4QPDGCode::GetQuarkContent: a="<<ab<<", c="<<c<<", f="<<f<<", v="<<v<<G4endl;
    20342041#endif
    20352042    if(v>10)           // Baryons
    2036            {
     2043    {
    20372044      t=v/10;          // (3) highest quark
    20382045      v%=10;           // (2) high quark
    20392046      if     (f==1)
    2040              {
     2047      {
    20412048        if(a) ad++;
    20422049        else   d++;
    2043              }
     2050      }
    20442051      else if(f==2)
    2045              {
     2052      {
    20462053        if(a) au++;
    20472054        else   u++;
    2048              }
     2055      }
    20492056      else if(f==3)
    2050              {
     2057      {
    20512058        if(a) as++;
    20522059        else   s++;
    2053              }
    2054       else G4cerr<<"***G4QPDGCode::GetQContent:1 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
     2060      }
     2061      else G4cerr<<"*G4QPDGC::GetQCont:1 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
    20552062      if     (v==1)
    2056              {
     2063      {
    20572064        if(a) ad++;
    20582065        else   d++;
    2059              }
     2066      }
    20602067      else if(v==2)
    2061              {
     2068      {
    20622069        if(a) au++;
    20632070        else   u++;
    2064              }
     2071      }
    20652072      else if(v==3)
    2066              {
     2073      {
    20672074        if(a) as++;
    20682075        else   s++;
    2069              }
    2070       else G4cerr<<"***G4QPDGCode::GetQContent:2 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
     2076      }
     2077      else G4cerr<<"*G4QPDGC::GetQCont:2 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
    20712078      if     (t==1)
    2072              {
     2079      {
    20732080        if(a) ad++;
    20742081        else   d++;
    2075              }
     2082      }
    20762083      else if(t==2)
    2077              {
     2084      {
    20782085        if(a) au++;
    20792086        else   u++;
    2080              }
     2087      }
    20812088      else if(t==3)
    2082              {
     2089      {
    20832090        if(a) as++;
    20842091        else   s++;
    2085              }
    2086       else G4cerr<<"***G4QPDGCode::GetQCont:3 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
     2092      }
     2093      else G4cerr<<"*G4QPDGC::GetQCont:3 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
    20872094      return G4QContent(d,u,s,ad,au,as);
    2088            }
     2095    }
    20892096    else        // Mesons
    2090            {
     2097    {
    20912098      if(f==v)
    2092              {
     2099      {
    20932100        if     (f==1) return G4QContent(1,0,0,1,0,0);
    20942101        else if(f==2) return G4QContent(0,1,0,0,1,0);
    20952102        else if(f==3) return G4QContent(0,0,1,0,0,1);
    2096         else G4cerr<<"***G4QPDGCode::GetQCont:4 PDG="<<thePDGCode<<",i="<<f<<","<<v<<","<<t<<G4endl;
    2097              }
     2103        else G4cerr<<"*G4QPDGC::GetQC:4 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
     2104      }
    20982105      else
    2099              {
     2106      {
    21002107        if     (f==1 && v==2)
    21012108        {
     
    21132120          else return G4QContent(0,1,0,0,0,1);
    21142121        }
    2115         else G4cerr<<"***G4QPDGCode::GetQCont:5 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
    2116              }
    2117            }
     2122        else G4cerr<<"*G4QPDGC::GetQC:5 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;
     2123      }
     2124    }
    21182125  }
    21192126  else                   
     
    22142221  if(theQCode<fragmStart) return 7;
    22152222  G4int sub=theQCode-fragmStart;
    2216   if ( (sub > 1 && sub < 8) || sub == 15) return 7; //@@Why they are in clusters?-Residuals(?)
     2223  if ( (sub > 1 && sub < 8) || sub == 15) return 7;//Why they are in clusters?-Residuals(?)
    22172224  G4int rel=sub;                         // case of nuclear baryons and isonuclei
    22182225  if     (sub>31)rel =(sub-32)%15;       // case of heavy fragments (BaryNum>3)
     
    22782285  {
    22792286    G4int shiftQ=GetRelCrossIndex(i, o);
    2280     G4int sQCode=theQCode;                        // QCode of the parent cluster
    2281     if     (shiftQ==7) return 0;                  // A parent cluster doesn't exist
    2282     else if(!shiftQ) sQCode+=shiftQ;              // Shift QCode of son to QCode of his parent
    2283     G4QPDGCode parent;                            // Create a temporary (fake) parent cluster
    2284     parent.InitByQCode(sQCode);                   // Initialize it by Q-Code
    2285     G4QContent parentQC=parent.GetQuarkContent(); // Quark Content of the parent cluster
     2287    G4int sQCode=theQCode;                     // QCode of the parent cluster
     2288    if     (shiftQ==7) return 0;               // A parent cluster doesn't exist
     2289    else if(!shiftQ) sQCode+=shiftQ;           // Shift QCode of son to QCode of his parent
     2290    G4QPDGCode parent;                         // Create a temporary (fake) parent cluster
     2291    parent.InitByQCode(sQCode);                // Initialize it by Q-Code
     2292    G4QContent parentQC=parent.GetQuarkContent();// Quark Content of the parent cluster
    22862293    if     (!o)   return parentQC.GetD();
    22872294    else if(o==1) return parentQC.GetU();
     
    23242331    {
    23252332      if(cz>500000) cz-=1000000;                   // AntiProtons
    2326                                   z=cz/1000;                                   // Number of protons
     2333      z=cz/1000;                                   // Number of protons
    23272334      r-=cz;                                       // Subtract them from the residual
    23282335      if(r==90000000) return;
     
    23322339    {
    23332340      if(cs>5000000) cs-=10000000;                 // AntiLambda
    2334                                   s=cs/1000000;                                // Number of Lambdas
     2341      s=cs/1000000;                                // Number of Lambdas
    23352342    }
    23362343  }
Note: See TracChangeset for help on using the changeset viewer.