Ignore:
Timestamp:
Jun 18, 2010, 11:42:07 AM (14 years ago)
Author:
garnier
Message:

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

Location:
trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QAntiBaryonNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9191  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
    9292#ifdef debug
    93   G4cout<<"G4QPrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    94         <<"("<<lastN<<"),PDG=2212, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
     93  G4cout<<"G4QaBCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
     94        <<"("<<lastN<<"),PDG="<<PDG<<", thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    9595#endif
    9696  if(PDG>-2111 || PDG==-3112 || PDG==-3312 || PDG==-3334)
     
    106106    j  = 0;                            // A#0f records found in DB for this projectile
    107107#ifdef debug
    108     G4cout<<"G4QPrCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
     108    G4cout<<"G4QaBarNucCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
    109109#endif
    110110    if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope
     
    115115        lastTH =colTH[i];              // The last THreshold (A-dependent)
    116116#ifdef debug
    117         G4cout<<"G4QPrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
     117        G4cout<<"G4QaBCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
    118118#endif
    119119        if(pMom<=lastTH)
     
    130130        {
    131131#ifdef debug
    132           G4cout<<"..G4QPrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    133 #endif
    134           //CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // Update param's only
     132          G4cout<<"..G4QaBCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     133#endif
     134          //CalculateCrossSection(fCS,-1,j,PDG,lastZ,lastN,pMom); // Update param's only
    135135          return lastCS*millibarn;     // Use theLastCS
    136136        }
     
    138138        // Momentum pMom is in IU ! @@ Units
    139139#ifdef debug
    140         G4cout<<"G4QPrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
    141 #endif
    142         lastCS=CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // read & update
    143 #ifdef debug
    144         G4cout<<"G4QPrCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
     140        G4cout<<"G4QaBCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
     141#endif
     142        lastCS=CalculateCrossSection(fCS,-1,j,PDG,lastZ,lastN,pMom); // read & update
     143#ifdef debug
     144        G4cout<<"G4QaBCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
    145145#endif
    146146        if(lastCS<=0. && pMom>lastTH)  // Correct the threshold (@@ No intermediate Zeros)
    147147        {
    148148#ifdef debug
    149           G4cout<<"G4QPrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
     149          G4cout<<"G4QaBNucCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
    150150#endif
    151151          lastCS=0.;
     
    155155      }
    156156#ifdef debug
    157       G4cout<<"-->G4QPrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]
     157      G4cout<<"-->G4QaBNucCrossSec::GetCrosSec: pPDG="<<PDG<<", j="<<j<<", N="<<colN[i]
    158158            <<",Z["<<i<<"]="<<colZ[i]<<G4endl;
    159159#endif
     
    161161    }
    162162#ifdef debug
    163     G4cout<<"-?-G4QPrCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
     163    G4cout<<"-?-G4QaBCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
    164164#endif
    165165    if(!in)                            // This isotope has not been calculated previously
    166166    {
    167167#ifdef debug
    168       G4cout<<"^^^G4QPrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
     168      G4cout<<"^^^G4QaBCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
    169169#endif
    170170      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
    171       lastCS=CalculateCrossSection(fCS,0,j,2212,lastZ,lastN,pMom); //calculate & create
     171      lastCS=CalculateCrossSection(fCS,0,j,PDG,lastZ,lastN,pMom); //calculate & create
    172172      //if(lastCS>0.)                   // It means that the AMBD was initialized
    173173      //{
     
    175175        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
    176176#ifdef debug
    177         G4cout<<"G4QPrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
     177        G4cout<<"G4QaBCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
    178178#endif
    179179        colN.push_back(tgN);
     
    183183        colCS.push_back(lastCS);
    184184#ifdef debug
    185         G4cout<<"G4QPrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
     185        G4cout<<"G4QaBCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
    186186#endif
    187187      //} // M.K. Presence of H1 with high threshold breaks the syncronization
    188188#ifdef pdebug
    189       G4cout<<"G4QPrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     189      G4cout<<"G4QaBCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    190190#endif
    191191      return lastCS*millibarn;
     
    194194    {
    195195#ifdef debug
    196       G4cout<<"G4QPrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
     196      G4cout<<"G4QAntiBaryNucCrossSection::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
    197197#endif
    198198      colP[lastI]=pMom;
     
    203203  {
    204204#ifdef debug
    205     G4cout<<"G4QPrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
     205    G4cout<<"G4QaBNCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
    206206#endif
    207207    return 0.;                         // Momentum is below the Threshold Value -> CS=0
     
    220220    G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
    221221#endif
    222     lastCS=CalculateCrossSection(fCS,1,j,2212,lastZ,lastN,pMom); // Only read and UpdateDB
     222    lastCS=CalculateCrossSection(fCS,1,j,PDG,lastZ,lastN,pMom); // Only read and UpdateDB
    223223    lastP=pMom;
    224224  }
    225225#ifdef debug
    226   G4cout<<"==>G4QPrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     226  G4cout<<"==>G4QaBCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    227227#endif
    228228  return lastCS*millibarn;
     
    246246  static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c
    247247#ifdef debug
    248   G4cout<<"G4QProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
     248  G4cout<<"G4QaBarNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
    249249#endif
    250250  G4double sigma=0.;
     
    252252  G4double A=targN+targZ;              // A of the target
    253253#ifdef debug
    254   G4cout<<"G4QProtNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
     254  G4cout<<"G4QaBarNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
    255255#endif
    256256  if(F<=0)                             // This isotope was not the last used isotop
     
    281281      }
    282282#ifdef debug
    283       G4cout<<"-*->G4QPr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
     283      G4cout<<"-*->G4QaBarNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
    284284#endif
    285285      // --- End of possible separate function
     
    298298  // ============================== NOW the Magic Formula =================================
    299299#ifdef debug
    300   G4cout<<"G4QPrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
     300  G4cout<<"G4QaBNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
    301301#endif
    302302  if (Momentum<lastTH) return 0.;      // It must be already checked in the interface class
     
    304304  {
    305305#ifdef debug
    306     G4cout<<"G4QPrNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
     306    G4cout<<"G4QaBNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
    307307#endif
    308308    if(A<=1.) sigma=0.;
     
    310310#ifdef debugn
    311311    if(sigma<0.)
    312       G4cout<<"G4QPrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
     312      G4cout<<"G4QaBNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
    313313#endif
    314314  }
     
    317317    G4double lP=std::log(Momentum);
    318318#ifdef debug
    319     G4cout<<"G4QProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
     319    G4cout<<"G4QaBarNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
    320320#endif
    321321    sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QAntiBaryonPlusNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9393  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
    9494#ifdef debug
    95   G4cout<<"G4QPrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    96         <<"("<<lastN<<"),PDG=2212, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
     95  G4cout<<"G4QaBPCS::GetCS:>>>f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
     96        <<"("<<lastN<<"),PDG="<<PDG<<", thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    9797#endif
    9898  if(PDG!=-3112 && PDG!=-3312 && PDG!=-3334)
     
    108108    j  = 0;                            // A#0f records found in DB for this projectile
    109109#ifdef debug
    110     G4cout<<"G4QPrCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
     110    G4cout<<"G4QABPNuclCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
    111111#endif
    112112    if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope
     
    117117        lastTH =colTH[i];              // The last THreshold (A-dependent)
    118118#ifdef debug
    119         G4cout<<"G4QPrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
     119        G4cout<<"G4QaBPCS::GetCS:*Found*P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
    120120#endif
    121121        if(pMom<=lastTH)
     
    132132        {
    133133#ifdef debug
    134           G4cout<<"..G4QPrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    135 #endif
    136           //CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // Update param's only
     134          G4cout<<"G4QaBPNCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     135#endif
     136          //CalculateCrossSection(fCS,-1,j,PDG,lastZ,lastN,pMom); // Update param's only
    137137          return lastCS*millibarn;     // Use theLastCS
    138138        }
     
    140140        // Momentum pMom is in IU ! @@ Units
    141141#ifdef debug
    142         G4cout<<"G4QPrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
    143 #endif
    144         lastCS=CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // read & update
    145 #ifdef debug
    146         G4cout<<"G4QPrCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
     142        G4cout<<"G4QaBPNCS::G:UpdDB,P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
     143#endif
     144        lastCS=CalculateCrossSection(fCS,-1,j,PDG,lastZ,lastN,pMom); // read & update
     145#ifdef debug
     146        G4cout<<"G4QaBPNuCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
    147147#endif
    148148        if(lastCS<=0. && pMom>lastTH)  // Correct the threshold (@@ No intermediate Zeros)
    149149        {
    150150#ifdef debug
    151           G4cout<<"G4QPrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
     151          G4cout<<"G4QaBPNuCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
    152152#endif
    153153          lastCS=0.;
     
    157157      }
    158158#ifdef debug
    159       G4cout<<"-->G4QPrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]
     159      G4cout<<"-->G4QaBarPNucCrossSec::GetCrosSec: pPDG="<<PDG<<", j="<<j<<", N="<<colN[i]
    160160            <<",Z["<<i<<"]="<<colZ[i]<<G4endl;
    161161#endif
     
    163163    }
    164164#ifdef debug
    165     G4cout<<"-?-G4QPrCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
     165    G4cout<<"-?-G4QaBPNCS::GeCS:R,Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
    166166#endif
    167167    if(!in)                            // This isotope has not been calculated previously
    168168    {
    169169#ifdef debug
    170       G4cout<<"^^^G4QPrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
     170      G4cout<<"^^^G4QaBPCS::GetCS:CalcNewP="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
    171171#endif
    172172      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
    173       lastCS=CalculateCrossSection(fCS,0,j,2212,lastZ,lastN,pMom); //calculate & create
     173      lastCS=CalculateCrossSection(fCS,0,j,PDG,lastZ,lastN,pMom); //calculate & create
    174174      //if(lastCS>0.)                   // It means that the AMBD was initialized
    175175      //{
     
    177177        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
    178178#ifdef debug
    179         G4cout<<"G4QPrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
     179        G4cout<<"G4QaBPNucCrossSec::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
    180180#endif
    181181        colN.push_back(tgN);
     
    185185        colCS.push_back(lastCS);
    186186#ifdef debug
    187         G4cout<<"G4QPrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
     187        G4cout<<"G4QaBPNCS::GetCrosSec:lCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
    188188#endif
    189189      //} // M.K. Presence of H1 with high threshold breaks the syncronization
    190190#ifdef pdebug
    191       G4cout<<"G4QPrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     191      G4cout<<"G4QaBPNCS::GCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    192192#endif
    193193      return lastCS*millibarn;
     
    196196    {
    197197#ifdef debug
    198       G4cout<<"G4QPrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
     198      G4cout<<"G4QaBarPNucCrossSect::GetCrosSect: Update lastI="<<lastI<<",j="<<j<<G4endl;
    199199#endif
    200200      colP[lastI]=pMom;
     
    205205  {
    206206#ifdef debug
    207     G4cout<<"G4QPrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
     207    G4cout<<"G4QaBPNuCS::GetCS:CurrentP="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
    208208#endif
    209209    return 0.;                         // Momentum is below the Threshold Value -> CS=0
     
    213213  {
    214214#ifdef debug
    215     G4cout<<"..G4QPCS::GetCS:OldNZ&P="<<lastP<<"="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     215    G4cout<<"G4QaBPCS::GetCS:OldNZ&P="<<lastP<<"="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    216216#endif
    217217    return lastCS*millibarn;           // Use theLastCS
     
    220220  {
    221221#ifdef debug
    222     G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
    223 #endif
    224     lastCS=CalculateCrossSection(fCS,1,j,2212,lastZ,lastN,pMom); // Only read and UpdateDB
     222    G4cout<<"-!-G4QaBPCS::GeCS:UseCurP="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
     223#endif
     224    lastCS=CalculateCrossSection(fCS,1,j,PDG,lastZ,lastN,pMom); // Only read and UpdateDB
    225225    lastP=pMom;
    226226  }
    227227#ifdef debug
    228   G4cout<<"==>G4QPrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     228  G4cout<<"==>G4QaBPCS::GetCroSec:P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    229229#endif
    230230  return lastCS*millibarn;
     
    248248  static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c
    249249#ifdef debug
    250   G4cout<<"G4QProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
     250  G4cout<<"G4QaBPNuCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
    251251#endif
    252252  G4double sigma=0.;
     
    254254  G4double A=targN+targZ;              // A of the target
    255255#ifdef debug
    256   G4cout<<"G4QProtNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
     256  G4cout<<"G4QaBarPNucCS::CalCS:A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
    257257#endif
    258258  if(F<=0)                             // This isotope was not the last used isotop
     
    261261    {
    262262      G4int sync=LEN->size();
    263       if(sync<=I) G4cerr<<"*!*G4QPiMinusNuclCS::CalcCrosSect:Sync="<<sync<<"<="<<I<<G4endl;
     263      if(sync<=I) G4cerr<<"*!*G4QaBarPNuclCS::CalcCrosSect: Sync="<<sync<<"<="<<I<<G4endl;
    264264      lastLEN=(*LEN)[I];               // Pointer to prepared LowEnergy cross sections
    265265      lastHEN=(*HEN)[I];               // Pointer to prepared High Energy cross sections
     
    283283      }
    284284#ifdef debug
    285       G4cout<<"-*->G4QPr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
     285      G4cout<<"-*->G4QaBarPNucCS::CalCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
    286286#endif
    287287      // --- End of possible separate function
     
    290290      if(sync!=I)
    291291      {
    292         G4cerr<<"***G4QPiMinusNuclCS::CalcCrossSect: Sinc="<<sync<<"#"<<I<<", Z=" <<targZ
     292        G4cerr<<"***G4QaBarPNuclCS::CalcCrossSect: Sinc="<<sync<<"#"<<I<<", Z=" <<targZ
    293293              <<", N="<<targN<<", F="<<F<<G4endl;
    294294        //G4Exception("G4PiMinusNuclearCS::CalculateCS:","39",FatalException,"DBoverflow");
     
    300300  // ============================== NOW the Magic Formula =================================
    301301#ifdef debug
    302   G4cout<<"G4QPrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
     302  G4cout<<"G4QaBPNCS::CalCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
    303303#endif
    304304  if (Momentum<lastTH) return 0.;      // It must be already checked in the interface class
     
    306306  {
    307307#ifdef debug
    308     G4cout<<"G4QPrNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
     308    G4cout<<"G4QaBPNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
    309309#endif
    310310    if(A<=1.) sigma=0.;
     
    312312#ifdef debugn
    313313    if(sigma<0.)
    314       G4cout<<"G4QPrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
     314      G4cout<<"G4QaBPNCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
    315315#endif
    316316  }
     
    319319    G4double lP=std::log(Momentum);
    320320#ifdef debug
    321     G4cout<<"G4QProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
     321    G4cout<<"G4QaBarPNucCS::CalcCS:before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
    322322#endif
    323323    sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QElectronNuclearCrossSection.cc

    r1228 r1315  
    2525//
    2626//
    27 // $Id: G4QElectronNuclearCrossSection.cc,v 1.1 2009/11/16 18:15:43 mkossov Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     27// $Id: G4QElectronNuclearCrossSection.cc,v 1.2 2010/06/02 09:08:25 mkossov Exp $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    286286  //G4double mT= G4QPDGCode(111).GetNuclMass(Z,N,0);
    287287  G4double mT= 0.;
    288   if(G4NucleiProperties::IsInStableTable(A,Z))
     288  if(Z&&G4NucleiProperties::IsInStableTable(A,Z))
    289289                               mT = G4NucleiProperties::GetNuclearMass(A,Z)/MeV;
    290290  else return 0.;       // If it is not in the Table of Stable Nuclei, then the Threshold=0
     
    292292  G4double mP= infEn;
    293293  //if(Z) mP= G4QPDGCode(111).GetNuclMass(Z-1,N,0);
    294   if(Z&&G4NucleiProperties::IsInStableTable(A-1,Z-1))
     294  if(A>1&&Z&&G4NucleiProperties::IsInStableTable(A-1,Z-1))
    295295         mP = G4NucleiProperties::GetNuclearMass(A-1,Z-1)/MeV;  // ResNucMass for a proton
    296296  G4double mN= infEn;
    297297  //if(N) mN= G4QPDGCode(111).GetNuclMass(Z,N-1,0);
    298   if(N&&G4NucleiProperties::IsInStableTable(A-1,Z))
     298  if(A>1&&G4NucleiProperties::IsInStableTable(A-1,Z))
    299299         mN = G4NucleiProperties::GetNuclearMass(A-1,Z)/MeV;    // ResNucMass for a neutron
    300300
    301301  G4double mA= infEn;
    302   if(N>1&&Z>1&&G4NucleiProperties::IsInStableTable(A-4,Z-2))
     302  if(A>4&&Z>1&&G4NucleiProperties::IsInStableTable(A-4,Z-2))
    303303         mA = G4NucleiProperties::GetNuclearMass(A-4.,Z-2.)/MeV;// ResNucMass for an alpha
    304304
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QHyperonNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9191  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
    9292#ifdef debug
    93   G4cout<<"G4QPrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    94         <<"("<<lastN<<"),PDG=2212, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
     93  G4cout<<"G4QHyCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
     94        <<"("<<lastN<<"), PDG="<<PDG<<", thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    9595#endif
    9696  if(PDG!=3122 && PDG!=3212 && PDG!=3112 && PDG!=3322 && PDG!=3312 && PDG!=3334)
     
    106106    j  = 0;                            // A#0f records found in DB for this projectile
    107107#ifdef debug
    108     G4cout<<"G4QPrCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
     108    G4cout<<"G4QHyCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
    109109#endif
    110110    if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope
     
    115115        lastTH =colTH[i];              // The last THreshold (A-dependent)
    116116#ifdef debug
    117         G4cout<<"G4QPrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
     117        G4cout<<"G4QHyCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
    118118#endif
    119119        if(pMom<=lastTH)
     
    130130        {
    131131#ifdef debug
    132           G4cout<<"..G4QPrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    133 #endif
    134           //CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // Update param's only
     132          G4cout<<"..G4QHyCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     133#endif
     134          //CalculateCrossSection(fCS,-1,j,PDG,lastZ,lastN,pMom); // Update param's only
    135135          return lastCS*millibarn;     // Use theLastCS
    136136        }
     
    138138        // Momentum pMom is in IU ! @@ Units
    139139#ifdef debug
    140         G4cout<<"G4QPrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
    141 #endif
    142         lastCS=CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // read & update
    143 #ifdef debug
    144         G4cout<<"G4QPrCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
     140        G4cout<<"G4QHyCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
     141#endif
     142        lastCS=CalculateCrossSection(fCS,-1,j,PDG,lastZ,lastN,pMom); // read & update
     143#ifdef debug
     144        G4cout<<"G4QHyCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
    145145#endif
    146146        if(lastCS<=0. && pMom>lastTH)  // Correct the threshold (@@ No intermediate Zeros)
    147147        {
    148148#ifdef debug
    149           G4cout<<"G4QPrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
     149          G4cout<<"G4QHyCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
    150150#endif
    151151          lastCS=0.;
     
    155155      }
    156156#ifdef debug
    157       G4cout<<"-->G4QPrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]
     157      G4cout<<"-->G4QHyCrossSec::GetCrosSec: pPDG="<<PDG<<", j="<<j<<", N="<<colN[i]
    158158            <<",Z["<<i<<"]="<<colZ[i]<<G4endl;
    159159#endif
     
    161161    }
    162162#ifdef debug
    163     G4cout<<"-?-G4QPrCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
     163    G4cout<<"-?-G4QHyCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
    164164#endif
    165165    if(!in)                            // This isotope has not been calculated previously
    166166    {
    167167#ifdef debug
    168       G4cout<<"^^^G4QPrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
     168      G4cout<<"^^^G4QHyCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
    169169#endif
    170170      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
    171       lastCS=CalculateCrossSection(fCS,0,j,2212,lastZ,lastN,pMom); //calculate & create
     171      lastCS=CalculateCrossSection(fCS,0,j,PDG,lastZ,lastN,pMom); //calculate & create
    172172      //if(lastCS>0.)                   // It means that the AMBD was initialized
    173173      //{
     
    175175        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
    176176#ifdef debug
    177         G4cout<<"G4QPrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
     177        G4cout<<"G4QHyCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
    178178#endif
    179179        colN.push_back(tgN);
     
    183183        colCS.push_back(lastCS);
    184184#ifdef debug
    185         G4cout<<"G4QPrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
     185        G4cout<<"G4QHyCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
    186186#endif
    187187        //} // M.K. Presence of H1 with high threshold breaks the syncronization
    188188#ifdef pdebug
    189       G4cout<<"G4QPrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     189      G4cout<<"G4QHyCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    190190#endif
    191191      return lastCS*millibarn;
     
    194194    {
    195195#ifdef debug
    196       G4cout<<"G4QPrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
     196      G4cout<<"G4QHyCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
    197197#endif
    198198      colP[lastI]=pMom;
     
    203203  {
    204204#ifdef debug
    205     G4cout<<"G4QPrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
     205    G4cout<<"G4QHyCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
    206206#endif
    207207    return 0.;                         // Momentum is below the Threshold Value -> CS=0
     
    211211  {
    212212#ifdef debug
    213     G4cout<<"..G4QPCS::GetCS:OldNZ&P="<<lastP<<"="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     213    G4cout<<".G4QHyCS::GetCS:OldNZ&P="<<lastP<<"="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    214214#endif
    215215    return lastCS*millibarn;           // Use theLastCS
     
    218218  {
    219219#ifdef debug
    220     G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
    221 #endif
    222     lastCS=CalculateCrossSection(fCS,1,j,2212,lastZ,lastN,pMom); // Only read and UpdateDB
     220    G4cout<<"!-G4QHyCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
     221#endif
     222    lastCS=CalculateCrossSection(fCS,1,j,PDG,lastZ,lastN,pMom); // Only read and UpdateDB
    223223    lastP=pMom;
    224224  }
    225225#ifdef debug
    226   G4cout<<"==>G4QPrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     226  G4cout<<"==>G4QHyCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    227227#endif
    228228  return lastCS*millibarn;
     
    246246  static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c
    247247#ifdef debug
    248   G4cout<<"G4QProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
     248  G4cout<<"G4QHyNucCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
    249249#endif
    250250  G4double sigma=0.;
     
    252252  G4double A=targN+targZ;              // A of the target
    253253#ifdef debug
    254   G4cout<<"G4QProtNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
     254  G4cout<<"G4QHypNucCS::CalCS: A="<<A<<", F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
    255255#endif
    256256  if(F<=0)                             // This isotope was not the last used isotop
     
    281281      }
    282282#ifdef debug
    283       G4cout<<"-*->G4QPr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
     283      G4cout<<"-*->G4QHypNucCS::CalcCS:Tab for Z="<<targZ<<", N="<<targN<<",I="<<I<<G4endl;
    284284#endif
    285285      // --- End of possible separate function
     
    288288      if(sync!=I)
    289289      {
    290         G4cerr<<"***G4QPiMinusNuclCS::CalcCrossSect: Sinc="<<sync<<"#"<<I<<", Z=" <<targZ
     290        G4cerr<<"***G4QHyperNuclCS::CalcCrossSect: Sinc="<<sync<<"#"<<I<<", Z=" <<targZ
    291291              <<", N="<<targN<<", F="<<F<<G4endl;
    292292        //G4Exception("G4PiMinusNuclearCS::CalculateCS:","39",FatalException,"DBoverflow");
     
    298298  // ============================== NOW the Magic Formula =================================
    299299#ifdef debug
    300   G4cout<<"G4QPrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
     300  G4cout<<"G4QHyNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
    301301#endif
    302302  if (Momentum<lastTH) return 0.;      // It must be already checked in the interface class
     
    304304  {
    305305#ifdef debug
    306     G4cout<<"G4QPrNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
     306    G4cout<<"G4QHyNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
    307307#endif
    308308    if(A<=1.) sigma=0.;
     
    310310#ifdef debugn
    311311    if(sigma<0.)
    312       G4cout<<"G4QPrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
     312      G4cout<<"G4QHyNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
    313313#endif
    314314  }
     
    317317    G4double lP=std::log(Momentum);
    318318#ifdef debug
    319     G4cout<<"G4QProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
     319    G4cout<<"G4QHyNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
    320320#endif
    321321    sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QHyperonPlusNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9191  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
    9292#ifdef debug
    93   G4cout<<"G4QPrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    94         <<"("<<lastN<<"),PDG=2212, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
     93  G4cout<<"G4QHyPNCS::GetCS:>>>f="<<fCS<<",p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
     94        <<"("<<lastN<<"), PDG="<<PDG<<", thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    9595#endif
    9696  if(PDG!=3222) G4cout<<"-Warning-G4QPiMinusCS::GetCS:**Not a PiMinus**,PDG="<<PDG<<G4endl;
     
    105105    j  = 0;                            // A#0f records found in DB for this projectile
    106106#ifdef debug
    107     G4cout<<"G4QPrCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
     107    G4cout<<"G4QHyPNuclCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
    108108#endif
    109109    if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope
     
    114114        lastTH =colTH[i];              // The last THreshold (A-dependent)
    115115#ifdef debug
    116         G4cout<<"G4QPrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
     116        G4cout<<"G4QHyPCS::GetCS:*Found*P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
    117117#endif
    118118        if(pMom<=lastTH)
     
    129129        {
    130130#ifdef debug
    131           G4cout<<"..G4QPrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    132 #endif
    133           //CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // Update param's only
     131          G4cout<<"G4QHyPNCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     132#endif
     133          //CalculateCrossSection(fCS,-1,j,PDG,lastZ,lastN,pMom); // Update param's only
    134134          return lastCS*millibarn;     // Use theLastCS
    135135        }
     
    137137        // Momentum pMom is in IU ! @@ Units
    138138#ifdef debug
    139         G4cout<<"G4QPrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
    140 #endif
    141         lastCS=CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // read & update
    142 #ifdef debug
    143         G4cout<<"G4QPrCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
     139        G4cout<<"G4QHyPNCS::G:UpdDB,P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
     140#endif
     141        lastCS=CalculateCrossSection(fCS,-1,j,PDG,lastZ,lastN,pMom); // read & update
     142#ifdef debug
     143        G4cout<<"G4QHyPNuCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
    144144#endif
    145145        if(lastCS<=0. && pMom>lastTH)  // Correct the threshold (@@ No intermediate Zeros)
    146146        {
    147147#ifdef debug
    148           G4cout<<"G4QPrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
     148          G4cout<<"G4QHyPNuCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
    149149#endif
    150150          lastCS=0.;
     
    154154      }
    155155#ifdef debug
    156       G4cout<<"-->G4QPrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]
     156      G4cout<<"-->G4QHyPNucCrossSec::GetCrosSec: pPDG="<<PDG<<", j="<<j<<", N="<<colN[i]
    157157            <<",Z["<<i<<"]="<<colZ[i]<<G4endl;
    158158#endif
     
    160160    }
    161161#ifdef debug
    162     G4cout<<"-?-G4QPrCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
     162    G4cout<<"-?-G4QHyPNCS::GetCS:R,Z="<<tgZ<<",N="<<tgN<<",i="<<in<<",j="<<j<<" ?"<<G4endl;
    163163#endif
    164164    if(!in)                            // This isotope has not been calculated previously
    165165    {
    166166#ifdef debug
    167       G4cout<<"^^^G4QPrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
     167      G4cout<<"^G4QHyPNCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
    168168#endif
    169169      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
    170       lastCS=CalculateCrossSection(fCS,0,j,2212,lastZ,lastN,pMom); //calculate & create
     170      lastCS=CalculateCrossSection(fCS,0,j,PDG,lastZ,lastN,pMom); //calculate & create
    171171      //if(lastCS>0.)                   // It means that the AMBD was initialized
    172172      //{
     
    174174        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
    175175#ifdef debug
    176         G4cout<<"G4QPrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
     176        G4cout<<"G4QHypNucCrossSect::GetCrossSect:NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
    177177#endif
    178178        colN.push_back(tgN);
     
    182182        colCS.push_back(lastCS);
    183183#ifdef debug
    184         G4cout<<"G4QPrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
     184        G4cout<<"G4QHyPNCS::GetCrosSec:lCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
    185185#endif
    186186        //} // M.K. Presence of H1 with high threshold breaks the syncronization
    187187#ifdef pdebug
    188       G4cout<<"G4QPrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     188      G4cout<<"G4QHyPCS::GeCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    189189#endif
    190190      return lastCS*millibarn;
     
    193193    {
    194194#ifdef debug
    195       G4cout<<"G4QPrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
     195      G4cout<<"G4QHyPNucCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
    196196#endif
    197197      colP[lastI]=pMom;
     
    202202  {
    203203#ifdef debug
    204     G4cout<<"G4QPrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
     204    G4cout<<"G4QHyPNCS::GetCS: CurrentP="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
    205205#endif
    206206    return 0.;                         // Momentum is below the Threshold Value -> CS=0
     
    219219    G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
    220220#endif
    221     lastCS=CalculateCrossSection(fCS,1,j,2212,lastZ,lastN,pMom); // Only read and UpdateDB
     221    lastCS=CalculateCrossSection(fCS,1,j,PDG,lastZ,lastN,pMom); // Only read and UpdateDB
    222222    lastP=pMom;
    223223  }
    224224#ifdef debug
    225   G4cout<<"==>G4QPrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     225  G4cout<<"==>G4QHyPNCS::GetCrosS:P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    226226#endif
    227227  return lastCS*millibarn;
     
    245245  static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c
    246246#ifdef debug
    247   G4cout<<"G4QProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
     247  G4cout<<"G4QHyPNuCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
    248248#endif
    249249  G4double sigma=0.;
     
    251251  G4double A=targN+targZ;              // A of the target
    252252#ifdef debug
    253   G4cout<<"G4QProtNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
     253  G4cout<<"G4QHyPNucCS::CalCS: A="<<A<<", F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
    254254#endif
    255255  if(F<=0)                             // This isotope was not the last used isotop
     
    280280      }
    281281#ifdef debug
    282       G4cout<<"-*->G4QPr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
     282      G4cout<<"-*->G4QHyPNucCS::CalcCS: Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
    283283#endif
    284284      // --- End of possible separate function
     
    287287      if(sync!=I)
    288288      {
    289         G4cerr<<"***G4QPiMinusNuclCS::CalcCrossSect: Sinc="<<sync<<"#"<<I<<", Z=" <<targZ
     289        G4cerr<<"***G4QHyPNuclCS::CalcCrossSect: Sinc="<<sync<<"#"<<I<<", Z=" <<targZ
    290290              <<", N="<<targN<<", F="<<F<<G4endl;
    291291        //G4Exception("G4PiMinusNuclearCS::CalculateCS:","39",FatalException,"DBoverflow");
     
    297297  // ============================== NOW the Magic Formula =================================
    298298#ifdef debug
    299   G4cout<<"G4QPrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
     299  G4cout<<"G4QHyPNCS::CalcCS:lTH="<<lastTH<<",Pi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
    300300#endif
    301301  if (Momentum<lastTH) return 0.;      // It must be already checked in the interface class
     
    303303  {
    304304#ifdef debug
    305     G4cout<<"G4QPrNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
     305    G4cout<<"G4QHyPNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
    306306#endif
    307307    if(A<=1.) sigma=0.;
     
    309309#ifdef debugn
    310310    if(sigma<0.)
    311       G4cout<<"G4QPrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
     311      G4cout<<"G4QHyPNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",d="<<dP<<G4endl;
    312312#endif
    313313  }
     
    316316    G4double lP=std::log(Momentum);
    317317#ifdef debug
    318     G4cout<<"G4QProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
     318    G4cout<<"G4QHyPNucCS::CalcCS: before HEN nH="<<nH<<", iE="<<milP<<",dlP="<<dlP<<G4endl;
    319319#endif
    320320    sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QIonIonCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 19-Aug-07
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    420420                                                                G4int tN, G4double Mom)
    421421{
    422   static G4VQCrossSection* ElCSman = G4QElasticCrossSection::GetPointer();
     422  static G4VQCrossSection* PElCSman = G4QProtonElasticCrossSection::GetPointer();
     423  static G4VQCrossSection* NElCSman = G4QNeutronElasticCrossSection::GetPointer();
    423424  static G4VQCrossSection* InelPCSman = G4QProtonNuclearCrossSection::GetPointer();
    424425  static G4VQCrossSection* InelNCSman = G4QNeutronNuclearCrossSection::GetPointer();
     
    433434    {
    434435      inCS=InelPCSman->GetCrossSection(true, Mom, tZ, tN, 2212);
    435       elCS=ElCSman->GetCrossSection(true, Mom, tZ, tN, 2212);
     436      elCS=PElCSman->GetCrossSection(true, Mom, tZ, tN, 2212);
    436437    }
    437438    else if(pN == 1 && !pZ) // neutron-nuclear
    438439    {
    439440      inCS=InelNCSman->GetCrossSection(true, Mom, tZ, tN, 2112);
    440       elCS=ElCSman->GetCrossSection(true, Mom, tZ, tN, 2112);
     441      elCS=NElCSman->GetCrossSection(true, Mom, tZ, tN, 2112);
    441442    }
    442443    else G4cerr<<"-Warn-G4QIICS::CaCS:pZ="<<pZ<<",pN="<<pN<<",tZ="<<tZ<<",tN="<<tN<<G4endl;
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QKaonMinusNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9191  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
    9292#ifdef debug
    93   G4cout<<"G4QPrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
     93  G4cout<<"G4QKmCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    9494        <<"("<<lastN<<"),PDG="<<PDG<<", thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    9595#endif
     
    105105    j  = 0;                            // A#0f records found in DB for this projectile
    106106#ifdef debug
    107     G4cout<<"G4QPrCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
     107    G4cout<<"G4QKmCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
    108108#endif
    109109    if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope
     
    114114        lastTH =colTH[i];              // The last THreshold (A-dependent)
    115115#ifdef debug
    116         G4cout<<"G4QPrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
     116        G4cout<<"G4QKmCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
    117117#endif
    118118        if(pMom<=lastTH)
     
    129129        {
    130130#ifdef debug
    131           G4cout<<"..G4QPrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    132 #endif
    133           //CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // Update param's only
     131          G4cout<<"..G4QKmCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     132#endif
     133          //CalculateCrossSection(fCS,-1,j,-321,lastZ,lastN,pMom); // Update param's only
    134134          return lastCS*millibarn;     // Use theLastCS
    135135        }
     
    137137        // Momentum pMom is in IU ! @@ Units
    138138#ifdef debug
    139         G4cout<<"G4QPrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
    140 #endif
    141         lastCS=CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // read & update
    142 #ifdef debug
    143         G4cout<<"G4QPrCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
     139        G4cout<<"G4QKmCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
     140#endif
     141        lastCS=CalculateCrossSection(fCS,-1,j,-321,lastZ,lastN,pMom); // read & update
     142#ifdef debug
     143        G4cout<<"G4QKmCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
    144144#endif
    145145        if(lastCS<=0. && pMom>lastTH)  // Correct the threshold (@@ No intermediate Zeros)
    146146        {
    147147#ifdef debug
    148           G4cout<<"G4QPrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
     148          G4cout<<"G4QKmCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
    149149#endif
    150150          lastCS=0.;
     
    154154      }
    155155#ifdef debug
    156       G4cout<<"-->G4QPrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]
     156      G4cout<<"-->G4QKmCrossSec::GetCrosSec: pPDG=-321, j="<<j<<", N="<<colN[i]
    157157            <<",Z["<<i<<"]="<<colZ[i]<<G4endl;
    158158#endif
     
    160160    }
    161161#ifdef debug
    162     G4cout<<"-?-G4QPrCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
     162    G4cout<<"-?-G4QKmCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
    163163#endif
    164164    if(!in)                            // This isotope has not been calculated previously
    165165    {
    166166#ifdef debug
    167       G4cout<<"^^^G4QPrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
     167      G4cout<<"^^^G4QKmCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
    168168#endif
    169169      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
    170       lastCS=CalculateCrossSection(fCS,0,j,2212,lastZ,lastN,pMom); //calculate & create
     170      lastCS=CalculateCrossSection(fCS,0,j,-321,lastZ,lastN,pMom); //calculate & create
    171171      //if(lastCS>0.)                   // It means that the AMBD was initialized
    172172      //{
     
    174174        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
    175175#ifdef debug
    176         G4cout<<"G4QPrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
     176        G4cout<<"G4QKmCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
    177177#endif
    178178        colN.push_back(tgN);
     
    182182        colCS.push_back(lastCS);
    183183#ifdef debug
    184         G4cout<<"G4QPrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
     184        G4cout<<"G4QKmCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
    185185#endif
    186186      //} // M.K. Presence of H1 with high threshold breaks the syncronization
    187187#ifdef pdebug
    188       G4cout<<"G4QPrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     188      G4cout<<"G4QKmCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    189189#endif
    190190      return lastCS*millibarn;
     
    193193    {
    194194#ifdef debug
    195       G4cout<<"G4QPrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
     195      G4cout<<"G4QKmCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
    196196#endif
    197197      colP[lastI]=pMom;
     
    202202  {
    203203#ifdef debug
    204     G4cout<<"G4QPrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
     204    G4cout<<"G4QKmCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
    205205#endif
    206206    return 0.;                         // Momentum is below the Threshold Value -> CS=0
     
    219219    G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
    220220#endif
    221     lastCS=CalculateCrossSection(fCS,1,j,2212,lastZ,lastN,pMom); // Only read and UpdateDB
     221    lastCS=CalculateCrossSection(fCS,1,j,-321,lastZ,lastN,pMom); // Only read and UpdateDB
    222222    lastP=pMom;
    223223  }
    224224#ifdef debug
    225   G4cout<<"==>G4QPrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     225  G4cout<<"==>G4QKmCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    226226#endif
    227227  return lastCS*millibarn;
     
    245245  static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c
    246246#ifdef debug
    247   G4cout<<"G4QProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
     247  G4cout<<"G4QKmNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
    248248#endif
    249249  G4double sigma=0.;
     
    251251  G4double A=targN+targZ;              // A of the target
    252252#ifdef debug
    253   G4cout<<"G4QProtNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
     253  G4cout<<"G4QKmNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
    254254#endif
    255255  if(F<=0)                             // This isotope was not the last used isotop
     
    280280      }
    281281#ifdef debug
    282       G4cout<<"-*->G4QPr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
     282      G4cout<<"-*->G4QKmNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
    283283#endif
    284284      // --- End of possible separate function
     
    297297  // ============================== NOW the Magic Formula =================================
    298298#ifdef debug
    299   G4cout<<"G4QPrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
     299  G4cout<<"G4QKmNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
    300300#endif
    301301  if (Momentum<lastTH) return 0.;      // It must be already checked in the interface class
     
    303303  {
    304304#ifdef debug
    305     G4cout<<"G4QPrNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
     305    G4cout<<"G4QKmNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
    306306#endif
    307307    if(A<=1.) sigma=0.;
     
    309309#ifdef debugn
    310310    if(sigma<0.)
    311       G4cout<<"G4QPrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
     311      G4cout<<"G4QKmNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
    312312#endif
    313313  }
     
    316316    G4double lP=std::log(Momentum);
    317317#ifdef debug
    318     G4cout<<"G4QProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
     318    G4cout<<"G4QKmNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
    319319#endif
    320320    sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QKaonPlusNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9191  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
    9292#ifdef debug
    93   G4cout<<"G4QPrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
     93  G4cout<<"G4QKpCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    9494        <<"("<<lastN<<"),PDG="<<PDG<<", thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    9595#endif
     
    105105    j  = 0;                            // A#0f records found in DB for this projectile
    106106#ifdef debug
    107     G4cout<<"G4QPrCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
     107    G4cout<<"G4QKpCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
    108108#endif
    109109    if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope
     
    114114        lastTH =colTH[i];              // The last THreshold (A-dependent)
    115115#ifdef debug
    116         G4cout<<"G4QPrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
     116        G4cout<<"G4QKpCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
    117117#endif
    118118        if(pMom<=lastTH)
     
    129129        {
    130130#ifdef debug
    131           G4cout<<"..G4QPrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    132 #endif
    133           //CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // Update param's only
     131          G4cout<<"..G4QKpCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     132#endif
     133          //CalculateCrossSection(fCS,-1,j,321,lastZ,lastN,pMom); // Update param's only
    134134          return lastCS*millibarn;     // Use theLastCS
    135135        }
     
    137137        // Momentum pMom is in IU ! @@ Units
    138138#ifdef debug
    139         G4cout<<"G4QPrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
    140 #endif
    141         lastCS=CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // read & update
    142 #ifdef debug
    143         G4cout<<"G4QPrCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
     139        G4cout<<"G4QKpCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
     140#endif
     141        lastCS=CalculateCrossSection(fCS,-1,j,321,lastZ,lastN,pMom); // read & update
     142#ifdef debug
     143        G4cout<<"G4QKpCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
    144144#endif
    145145        if(lastCS<=0. && pMom>lastTH)  // Correct the threshold (@@ No intermediate Zeros)
    146146        {
    147147#ifdef debug
    148           G4cout<<"G4QPrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
     148          G4cout<<"G4QKpCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
    149149#endif
    150150          lastCS=0.;
     
    154154      }
    155155#ifdef debug
    156       G4cout<<"-->G4QPrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]
     156      G4cout<<"-->G4QKpCrossSec::GetCrosSec: pPDG=321, j="<<j<<", N="<<colN[i]
    157157            <<",Z["<<i<<"]="<<colZ[i]<<G4endl;
    158158#endif
     
    160160    }
    161161#ifdef debug
    162     G4cout<<"-?-G4QPrCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
     162    G4cout<<"-?-G4QKpCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
    163163#endif
    164164    if(!in)                            // This isotope has not been calculated previously
    165165    {
    166166#ifdef debug
    167       G4cout<<"^^^G4QPrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
     167      G4cout<<"^^^G4QKpCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
    168168#endif
    169169      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
    170       lastCS=CalculateCrossSection(fCS,0,j,2212,lastZ,lastN,pMom); //calculate & create
     170      lastCS=CalculateCrossSection(fCS,0,j,321,lastZ,lastN,pMom); //calculate & create
    171171      //if(lastCS>0.)                   // It means that the AMBD was initialized
    172172      //{
     
    174174        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
    175175#ifdef debug
    176         G4cout<<"G4QPrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
     176        G4cout<<"G4QKpCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
    177177#endif
    178178        colN.push_back(tgN);
     
    182182        colCS.push_back(lastCS);
    183183#ifdef debug
    184         G4cout<<"G4QPrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
     184        G4cout<<"G4QKpCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
    185185#endif
    186186      //} // M.K. Presence of H1 with high threshold breaks the syncronization
    187187#ifdef pdebug
    188       G4cout<<"G4QPrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     188      G4cout<<"G4QKpCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    189189#endif
    190190      return lastCS*millibarn;
     
    193193    {
    194194#ifdef debug
    195       G4cout<<"G4QPrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
     195      G4cout<<"G4QKpCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
    196196#endif
    197197      colP[lastI]=pMom;
     
    202202  {
    203203#ifdef debug
    204     G4cout<<"G4QPrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
     204    G4cout<<"G4QKpCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
    205205#endif
    206206    return 0.;                         // Momentum is below the Threshold Value -> CS=0
     
    219219    G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
    220220#endif
    221     lastCS=CalculateCrossSection(fCS,1,j,2212,lastZ,lastN,pMom); // Only read and UpdateDB
     221    lastCS=CalculateCrossSection(fCS,1,j,321,lastZ,lastN,pMom); // Only read and UpdateDB
    222222    lastP=pMom;
    223223  }
    224224#ifdef debug
    225   G4cout<<"==>G4QPrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     225  G4cout<<"==>G4QKpCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    226226#endif
    227227  return lastCS*millibarn;
     
    245245  static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c
    246246#ifdef debug
    247   G4cout<<"G4QProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
     247  G4cout<<"G4QKpNucCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
    248248#endif
    249249  G4double sigma=0.;
     
    251251  G4double A=targN+targZ;              // A of the target
    252252#ifdef debug
    253   G4cout<<"G4QProtNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
     253  G4cout<<"G4QKpNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
    254254#endif
    255255  if(F<=0)                             // This isotope was not the last used isotop
     
    280280      }
    281281#ifdef debug
    282       G4cout<<"-*->G4QPr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
     282      G4cout<<"-*->G4QKpNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
    283283#endif
    284284      // --- End of possible separate function
     
    297297  // ============================== NOW the Magic Formula =================================
    298298#ifdef debug
    299   G4cout<<"G4QPrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
     299  G4cout<<"G4QKpNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
    300300#endif
    301301  if (Momentum<lastTH) return 0.;      // It must be already checked in the interface class
     
    303303  {
    304304#ifdef debug
    305     G4cout<<"G4QPrNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
     305    G4cout<<"G4QKpNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
    306306#endif
    307307    if(A<=1.) sigma=0.;
     
    309309#ifdef debugn
    310310    if(sigma<0.)
    311       G4cout<<"G4QPrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
     311      G4cout<<"G4QKpNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
    312312#endif
    313313  }
     
    316316    G4double lP=std::log(Momentum);
    317317#ifdef debug
    318     G4cout<<"G4QProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
     318    G4cout<<"G4QKpNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
    319319#endif
    320320    sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QKaonZeroNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    7676#ifdef debug
    7777  G4cout<<"G4QKZCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    78         <<"("<<lastN<<"),PDG=2212, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
     78        <<"("<<lastN<<"), PDG=130/310, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    7979#endif
    8080  if(PDG!=130 && PDG!=310 && PDG!=311 && PDG!=-311)
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QMuonNuclearCrossSection.cc

    r1228 r1315  
    2525//
    2626//
    27 // $Id: G4QMuonNuclearCrossSection.cc,v 1.1 2009/11/16 18:15:43 mkossov Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     27// $Id: G4QMuonNuclearCrossSection.cc,v 1.2 2010/06/02 09:08:25 mkossov Exp $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    291291  //G4double mT= G4QPDGCode(111).GetNuclMass(Z,N,0);
    292292  G4double mT= 0.;
    293   if(G4NucleiProperties::IsInStableTable(A,Z))
     293  if(Z&&G4NucleiProperties::IsInStableTable(A,Z))
    294294                            mT = G4NucleiProperties::GetNuclearMass(A,Z)/MeV;
    295295  else return 0.;       // If it is not in the Table of Stable Nuclei, then the Threshold=0
    296296  // --------- Splitting thresholds
    297297  G4double mP= infEn;
    298   if(Z&&G4NucleiProperties::IsInStableTable(A-1,Z-1))
     298  if(A>1&&Z&&G4NucleiProperties::IsInStableTable(A-1,Z-1))
    299299          mP = G4NucleiProperties::GetNuclearMass(A-1,Z-1)/MeV;// ResNucMass for a proton
    300300
    301301  G4double mN= infEn;
    302   if(N&&G4NucleiProperties::IsInStableTable(A-1,Z))
     302  if(A>1&&G4NucleiProperties::IsInStableTable(A-1,Z))
    303303          mN = G4NucleiProperties::GetNuclearMass(A-1,Z)/MeV;  // ResNucMass for a neutron
    304304
    305305  G4double mA= infEn;
    306   if(N>1&&Z>1&&G4NucleiProperties::IsInStableTable(A-4,Z-2))
     306  if(A>4&&Z>1&&G4NucleiProperties::IsInStableTable(A-4,Z-2))
    307307          mA=G4NucleiProperties::GetNuclearMass(A-4,Z-2)/MeV;  // ResNucMass for an alpha
    308308
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QNeutronCaptureRatio.cc

    r1228 r1315  
    2525//
    2626//
    27 // $Id: G4QNeutronCaptureRatio.cc,v 1.2 2009/12/07 10:32:06 mkossov Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     27// $Id: G4QNeutronCaptureRatio.cc,v 1.4 2010/04/19 12:40:56 mkossov Exp $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9494  if(A>247)
    9595  {
    96     G4cout<<"-*-Warning-*-G4QuasiFreeRatio::GetRatio: A="<<A<<">247, return zero"<<G4endl;
     96    G4cout<<"-*-Warning-*-G4NeutronCaptureRatio::GetRatio:A="<<A<<">247, return 0"<<G4endl;
    9797    return 0.;
    9898  }
     
    663663  static const G4int N47=2;
    664664  static const G4double pZ47N60[5]={.018, 5., .1, .004, .003};
    665   static const std::pair<G4int, const G4double*> Z47N60=std::make_pair(48,pZ47N60);
     665  static const std::pair<G4int, const G4double*> Z47N60=std::make_pair(60,pZ47N60);
    666666  static const G4double pZ47N62[5]={.018, 4., .015, .06, .0008};
    667   static const std::pair<G4int, const G4double*> Z47N62=std::make_pair(50,pZ47N62);
     667  static const std::pair<G4int, const G4double*> Z47N62=std::make_pair(62,pZ47N62);
    668668  static const std::pair<G4int, const G4double*> Z47[N47]={Z47N60, Z47N62};
    669669  //==> Cd(Z=48)
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QNeutronNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-May-09
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    770770  static const G4int N47=2;
    771771  static const G4double pZ47N60[4]={3.E-12, 500., .01, 2.7E-5};
    772   static const std::pair<G4int, const G4double*> Z47N60=std::make_pair(48,pZ47N60);
     772  static const std::pair<G4int, const G4double*> Z47N60=std::make_pair(60,pZ47N60);
    773773  static const G4double pZ47N62[4]={3.E-12, 480., .01, 2.5E-4};
    774   static const std::pair<G4int, const G4double*> Z47N62=std::make_pair(50,pZ47N62);
     774  static const std::pair<G4int, const G4double*> Z47N62=std::make_pair(62,pZ47N62);
    775775  static const std::pair<G4int, const G4double*> Z47[N47]={Z47N60, Z47N62};
    776776  //==> Cd(Z=48)
     
    889889  static const G4int N56=7;
    890890  static const G4double pZ56N74[4]={3.E-12, 500., .01, 2.5E-5}; // *** NotImplemented ***
    891   static const std::pair<G4int, const G4double*> Z56N74=std::make_pair(70,pZ56N74);
     891  static const std::pair<G4int, const G4double*> Z56N74=std::make_pair(74,pZ56N74);
    892892  static const G4double pZ56N76[4]={3.E-12, 500., .01, 2.5E-5}; // *** NotImplemented ***
    893   static const std::pair<G4int, const G4double*> Z56N76=std::make_pair(71,pZ56N76);
     893  static const std::pair<G4int, const G4double*> Z56N76=std::make_pair(76,pZ56N76);
    894894  static const G4double pZ56N78[4]={3.E-12, 500., .01, 2.5E-5}; // *** NotImplemented ***
    895   static const std::pair<G4int, const G4double*> Z56N78=std::make_pair(72,pZ56N78);
     895  static const std::pair<G4int, const G4double*> Z56N78=std::make_pair(78,pZ56N78);
    896896  static const G4double pZ56N79[4]={3.E-12, 500., .01, 2.5E-5}; // *** NotImplemented ***
    897   static const std::pair<G4int, const G4double*> Z56N79=std::make_pair(73,pZ56N79);
     897  static const std::pair<G4int, const G4double*> Z56N79=std::make_pair(79,pZ56N79);
    898898  static const G4double pZ56N80[4]={3.E-12, 500., .01, 2.5E-5}; // *** NotImplemented ***
    899   static const std::pair<G4int, const G4double*> Z56N80=std::make_pair(74,pZ56N80);
     899  static const std::pair<G4int, const G4double*> Z56N80=std::make_pair(80,pZ56N80);
    900900  static const G4double pZ56N81[4]={3.E-12, 500., .01, 2.5E-5}; // *** NotImplemented ***
    901   static const std::pair<G4int, const G4double*> Z56N81=std::make_pair(76,pZ56N81);
     901  static const std::pair<G4int, const G4double*> Z56N81=std::make_pair(81,pZ56N81);
    902902  static const G4double pZ56N82[4]={3.E-12, 500., .01, 2.5E-4}; // *** NotImplemented ***
    903   static const std::pair<G4int, const G4double*> Z56N82=std::make_pair(78,pZ56N82);
     903  static const std::pair<G4int, const G4double*> Z56N82=std::make_pair(82,pZ56N82);
    904904  static const std::pair<G4int, const G4double*> Z56[N56]={Z56N74, Z56N76, Z56N78, Z56N79,
    905905                                                           Z56N80, Z56N81, Z56N82};
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QPhotonNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    276276  //G4double mT= G4QPDGCode(111).GetNuclMass(Z,N,0);
    277277  G4double mT= 0.;
    278   if(G4NucleiProperties::IsInStableTable(A,Z))
     278  if(Z&&G4NucleiProperties::IsInStableTable(A,Z))
    279279                           mT = G4NucleiProperties::GetNuclearMass(A,Z)/MeV;
     280  else return 0.;       // If it is not in the Table of Stable Nuclei, then the Threshold=0
    280281  G4double mP= infEn;
    281   if(Z&&G4NucleiProperties::IsInStableTable(A-1,Z-1))
     282  if(A>1&&Z&&G4NucleiProperties::IsInStableTable(A-1,Z-1))
    282283          mP = G4NucleiProperties::GetNuclearMass(A-1,Z-1)/MeV;// ResNucMass for a proton
    283284
    284285  G4double mN= infEn;
    285   if(N&&G4NucleiProperties::IsInStableTable(A-1,Z))
     286  if(A>1&&G4NucleiProperties::IsInStableTable(A-1,Z))
    286287          mN = G4NucleiProperties::GetNuclearMass(A-1,Z)/MeV;  // ResNucMass for a neutron
    287288
    288289  G4double mA= infEn;
    289   if(N>1&&Z>1&&G4NucleiProperties::IsInStableTable(A-4,Z-2))
     290  if(A>4&&Z>1&&G4NucleiProperties::IsInStableTable(A-4,Z-2))
    290291          mA=G4NucleiProperties::GetNuclearMass(A-4,Z-2)/MeV;  // ResNucMass for an alpha
    291292
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QPionMinusNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9191  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
    9292#ifdef debug
    93   G4cout<<"G4QPrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    94         <<"("<<lastN<<"),PDG=2212, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
     93  G4cout<<"G4QPimNCS::GetCS:>>>f="<<fCS<<",p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
     94        <<"("<<lastN<<"), PDG=-211, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    9595#endif
    9696  if(PDG!=-211) G4cout<<"-Warning-G4QPiMinusCS::GetCS:**Not a PiMinus**,PDG="<<PDG<<G4endl;
     
    105105    j  = 0;                            // A#0f records found in DB for this projectile
    106106#ifdef debug
    107     G4cout<<"G4QPrCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
     107    G4cout<<"G4QPimNucCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
    108108#endif
    109109    if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope
     
    114114        lastTH =colTH[i];              // The last THreshold (A-dependent)
    115115#ifdef debug
    116         G4cout<<"G4QPrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
     116        G4cout<<"G4QPimCS::GetCS:*Found*P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
    117117#endif
    118118        if(pMom<=lastTH)
     
    129129        {
    130130#ifdef debug
    131           G4cout<<"..G4QPrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    132 #endif
    133           //CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // Update param's only
     131          G4cout<<"G4QPimNCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     132#endif
     133          //CalculateCrossSection(fCS,-1,j,-211,lastZ,lastN,pMom); // Update param's only
    134134          return lastCS*millibarn;     // Use theLastCS
    135135        }
     
    137137        // Momentum pMom is in IU ! @@ Units
    138138#ifdef debug
    139         G4cout<<"G4QPrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
    140 #endif
    141         lastCS=CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // read & update
    142 #ifdef debug
    143         G4cout<<"G4QPrCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
     139        G4cout<<"G4QPimNCS::G:UpdDB,P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
     140#endif
     141        lastCS=CalculateCrossSection(fCS,-1,j,-211,lastZ,lastN,pMom); // read & update
     142#ifdef debug
     143        G4cout<<"G4QPimNucCS::GetCrosSec:*****> New (inDB) Calculated CS="<<lastCS<<G4endl;
    144144#endif
    145145        if(lastCS<=0. && pMom>lastTH)  // Correct the threshold (@@ No intermediate Zeros)
    146146        {
    147147#ifdef debug
    148           G4cout<<"G4QPrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
     148          G4cout<<"G4QPimNucCS::GetCS:New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
    149149#endif
    150150          lastCS=0.;
     
    154154      }
    155155#ifdef debug
    156       G4cout<<"-->G4QPrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]
     156      G4cout<<"-->G4QPimNucCrossSec::GetCrosSec: pPDG=-211, j="<<j<<", N="<<colN[i]
    157157            <<",Z["<<i<<"]="<<colZ[i]<<G4endl;
    158158#endif
     
    160160    }
    161161#ifdef debug
    162     G4cout<<"-?-G4QPrCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
     162    G4cout<<"-?-G4QPimCS::GetCS:R,Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
    163163#endif
    164164    if(!in)                            // This isotope has not been calculated previously
    165165    {
    166166#ifdef debug
    167       G4cout<<"^^^G4QPrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
     167      G4cout<<"^^^G4QPimCS::GetCS:CalcNewP="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
    168168#endif
    169169      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
    170       lastCS=CalculateCrossSection(fCS,0,j,2212,lastZ,lastN,pMom); //calculate & create
     170      lastCS=CalculateCrossSection(fCS,0,j,-211,lastZ,lastN,pMom); //calculate & create
    171171      //if(lastCS>0.)                   // It means that the AMBD was initialized
    172172      //{
     
    174174        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
    175175#ifdef debug
    176         G4cout<<"G4QPrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
     176        G4cout<<"G4QPimNucCrossSec::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
    177177#endif
    178178        colN.push_back(tgN);
     
    182182        colCS.push_back(lastCS);
    183183#ifdef debug
    184         G4cout<<"G4QPrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
     184        G4cout<<"G4QPimCS::GetCrosSec:reCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
    185185#endif
    186186      //} // M.K. Presence of H1 with high threshold breaks the syncronization
    187187#ifdef pdebug
    188       G4cout<<"G4QPrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     188      G4cout<<"G4QPimCS::GeCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    189189#endif
    190190      return lastCS*millibarn;
     
    193193    {
    194194#ifdef debug
    195       G4cout<<"G4QPrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
     195      G4cout<<"G4QPimNucCrossSect::GetCS: Update lastI="<<lastI<<", j="<<j<<G4endl;
    196196#endif
    197197      colP[lastI]=pMom;
     
    202202  {
    203203#ifdef debug
    204     G4cout<<"G4QPrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
     204    G4cout<<"G4QPimCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
    205205#endif
    206206    return 0.;                         // Momentum is below the Threshold Value -> CS=0
     
    219219    G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
    220220#endif
    221     lastCS=CalculateCrossSection(fCS,1,j,2212,lastZ,lastN,pMom); // Only read and UpdateDB
     221    lastCS=CalculateCrossSection(fCS,1,j,-211,lastZ,lastN,pMom); // Only read and UpdateDB
    222222    lastP=pMom;
    223223  }
    224224#ifdef debug
    225   G4cout<<"==>G4QPrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     225  G4cout<<"==>G4QPimCS::GetCroSec:P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    226226#endif
    227227  return lastCS*millibarn;
     
    245245  static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c
    246246#ifdef debug
    247   G4cout<<"G4QProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
     247  G4cout<<"G4QPimNCS::CalcCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
    248248#endif
    249249  G4double sigma=0.;
     
    251251  G4double A=targN+targZ;              // A of the target
    252252#ifdef debug
    253   G4cout<<"G4QProtNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
     253  G4cout<<"G4QPimNucCS::CalcCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
    254254#endif
    255255  if(F<=0)                             // This isotope was not the last used isotop
     
    280280      }
    281281#ifdef debug
    282       G4cout<<"-*->G4QPr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
     282      G4cout<<"-*->G4QPimNucCS::CalcCS: Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
    283283#endif
    284284      // --- End of possible separate function
     
    297297  // ============================== NOW the Magic Formula =================================
    298298#ifdef debug
    299   G4cout<<"G4QPrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
     299  G4cout<<"G4QPimNCS::CalcCS:lTH="<<lastTH<<",Pi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
    300300#endif
    301301  if (Momentum<lastTH) return 0.;      // It must be already checked in the interface class
     
    303303  {
    304304#ifdef debug
    305     G4cout<<"G4QPrNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
     305    G4cout<<"G4QPimNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
    306306#endif
    307307    if(A<=1.) sigma=0.;
     
    309309#ifdef debugn
    310310    if(sigma<0.)
    311       G4cout<<"G4QPrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
     311      G4cout<<"G4QPimNCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
    312312#endif
    313313  }
     
    316316    G4double lP=std::log(Momentum);
    317317#ifdef debug
    318     G4cout<<"G4QProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
     318    G4cout<<"G4QPimNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
    319319#endif
    320320    sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QPionPlusNuclearCrossSection.cc

    r1228 r1315  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    9191  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
    9292#ifdef debug
    93   G4cout<<"G4QPrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
    94         <<"("<<lastN<<"),PDG=2212, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
     93  G4cout<<"G4QPipCS::GetCS:>>>f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
     94        <<"("<<lastN<<"),PDG=211, thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl;
    9595#endif
    9696  if(PDG!=211) G4cout<<"-Warning-G4QPionPlusCS::GetCS:**Not a PiPlus**,PDG="<<PDG<<G4endl;
     
    105105    j  = 0;                            // A#0f records found in DB for this projectile
    106106#ifdef debug
    107     G4cout<<"G4QPrCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
     107    G4cout<<"G4QPipCS::GetCS: the amount of records in the AMDB lastI="<<lastI<<G4endl;
    108108#endif
    109109    if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope
     
    114114        lastTH =colTH[i];              // The last THreshold (A-dependent)
    115115#ifdef debug
    116         G4cout<<"G4QPrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
     116        G4cout<<"G4QPipCS::GetCS:*Found*P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;
    117117#endif
    118118        if(pMom<=lastTH)
    119119        {
    120120#ifdef debug
    121           G4cout<<"G4QPCS::GetCS:Found,P="<<pMom<<" < Threshold="<<lastTH<<",CS=0"<<G4endl;
     121          G4cout<<"G4QPipCS::GCS:Found,P="<<pMom<<" < Threshold="<<lastTH<<",CS=0"<<G4endl;
    122122#endif
    123123          return 0.;                   // Energy is below the Threshold value
     
    129129        {
    130130#ifdef debug
    131           G4cout<<"..G4QPrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
    132 #endif
    133           //CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // Update param's only
     131          G4cout<<"..G4QPipCS::GetCS:DoNothing,P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
     132#endif
     133          //CalculateCrossSection(fCS,-1,j,211,lastZ,lastN,pMom); // Update param's only
    134134          return lastCS*millibarn;     // Use theLastCS
    135135        }
     
    137137        // Momentum pMom is in IU ! @@ Units
    138138#ifdef debug
    139         G4cout<<"G4QPrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;
    140 #endif
    141         lastCS=CalculateCrossSection(fCS,-1,j,2212,lastZ,lastN,pMom); // read & update
    142 #ifdef debug
    143         G4cout<<"G4QPrCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
     139        G4cout<<"G4QPipCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
     140#endif
     141        lastCS=CalculateCrossSection(fCS,-1,j,211,lastZ,lastN,pMom); // read & update
     142#ifdef debug
     143        G4cout<<"G4QPipNCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
    144144#endif
    145145        if(lastCS<=0. && pMom>lastTH)  // Correct the threshold (@@ No intermediate Zeros)
    146146        {
    147147#ifdef debug
    148           G4cout<<"G4QPrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
     148          G4cout<<"G4QPipNCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;
    149149#endif
    150150          lastCS=0.;
     
    154154      }
    155155#ifdef debug
    156       G4cout<<"-->G4QPrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]
     156      G4cout<<"-->G4QPipNucCrossSec::GetCrosSec: pPDG=211, j="<<j<<", N="<<colN[i]
    157157            <<",Z["<<i<<"]="<<colZ[i]<<G4endl;
    158158#endif
     
    160160    }
    161161#ifdef debug
    162     G4cout<<"-?-G4QPrCS::GetCS:RC Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
     162    G4cout<<"-?-G4QPipCS::GetCS:R,Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;
    163163#endif
    164164    if(!in)                            // This isotope has not been calculated previously
    165165    {
    166166#ifdef debug
    167       G4cout<<"^^^G4QPrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
     167      G4cout<<"^^^G4QPipCS::GeCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;
    168168#endif
    169169      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
    170       lastCS=CalculateCrossSection(fCS,0,j,2212,lastZ,lastN,pMom); //calculate & create
     170      lastCS=CalculateCrossSection(fCS,0,j,211,lastZ,lastN,pMom); //calculate & create
    171171      //if(lastCS>0.)                   // It means that the AMBD was initialized
    172172      //{
     
    174174        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
    175175#ifdef debug
    176         G4cout<<"G4QPrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
     176        G4cout<<"G4QPipCrossSection::GetCrossSect:NewThresh="<<lastTH<<",P="<<pMom<<G4endl;
    177177#endif
    178178        colN.push_back(tgN);
     
    182182        colCS.push_back(lastCS);
    183183#ifdef debug
    184         G4cout<<"G4QPrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
     184        G4cout<<"G4QPipNCS::GetCrosSec:lCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
    185185#endif
    186186      //} // M.K. Presence of H1 with high threshold breaks the syncronization
    187187#ifdef pdebug
    188       G4cout<<"G4QPrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     188      G4cout<<"G4QPipCS::GeCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    189189#endif
    190190      return lastCS*millibarn;
     
    193193    {
    194194#ifdef debug
    195       G4cout<<"G4QPrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
     195      G4cout<<"G4QPipNucCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;
    196196#endif
    197197      colP[lastI]=pMom;
     
    202202  {
    203203#ifdef debug
    204     G4cout<<"G4QPrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
     204    G4cout<<"G4QPipCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
    205205#endif
    206206    return 0.;                         // Momentum is below the Threshold Value -> CS=0
     
    219219    G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
    220220#endif
    221     lastCS=CalculateCrossSection(fCS,1,j,2212,lastZ,lastN,pMom); // Only read and UpdateDB
     221    lastCS=CalculateCrossSection(fCS,1,j,211,lastZ,lastN,pMom); // Only read and UpdateDB
    222222    lastP=pMom;
    223223  }
    224224#ifdef debug
    225   G4cout<<"==>G4QPrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
     225  G4cout<<"==>G4QPipCS::GetCroSec:P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
    226226#endif
    227227  return lastCS*millibarn;
     
    245245  static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c
    246246#ifdef debug
    247   G4cout<<"G4QProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
     247  G4cout<<"G4QPipNuCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;
    248248#endif
    249249  G4double sigma=0.;
     
    251251  G4double A=targN+targZ;              // A of the target
    252252#ifdef debug
    253   G4cout<<"G4QProtNucCS::CalCS: A="<<A<<",F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
     253  G4cout<<"G4QPipNucCS::CalCS: A="<<A<<", F="<<F<<",I="<<I<<",nL="<<nL<<",nH="<<nH<<G4endl;
    254254#endif
    255255  if(F<=0)                             // This isotope was not the last used isotop
     
    280280      }
    281281#ifdef debug
    282       G4cout<<"-*->G4QPr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;
     282      G4cout<<"-*->G4QPipNucCS::CalcCS:Tab for Z="<<targZ<<", N="<<targN<<",I="<<I<<G4endl;
    283283#endif
    284284      // --- End of possible separate function
     
    297297  // ============================== NOW the Magic Formula =================================
    298298#ifdef debug
    299   G4cout<<"G4QPrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
     299  G4cout<<"G4QPipNCS::CalcCS:lTH="<<lastTH<<",Pi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;
    300300#endif
    301301  if (Momentum<lastTH) return 0.;      // It must be already checked in the interface class
     
    303303  {
    304304#ifdef debug
    305     G4cout<<"G4QPrNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
     305    G4cout<<"G4QPipNCS::CalcCS:bLEN A="<<A<<", nL="<<nL<<",TH="<<THmin<<",dP="<<dP<<G4endl;
    306306#endif
    307307    if(A<=1.) sigma=0.;
     
    309309#ifdef debugn
    310310    if(sigma<0.)
    311       G4cout<<"G4QPrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
     311      G4cout<<"G4QPipNuCS::CalCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;
    312312#endif
    313313  }
     
    316316    G4double lP=std::log(Momentum);
    317317#ifdef debug
    318     G4cout<<"G4QProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;
     318    G4cout<<"G4QPipNucCS::CalcCS: before HEN nH="<<nH<<", iE="<<milP<<",dlP="<<dlP<<G4endl;
    319319#endif
    320320    sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QTauNuclearCrossSection.cc

    r1228 r1315  
    2525//
    2626//
    27 // $Id: G4QTauNuclearCrossSection.cc,v 1.1 2009/11/16 18:15:43 mkossov Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     27// $Id: G4QTauNuclearCrossSection.cc,v 1.2 2010/06/02 09:08:25 mkossov Exp $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    295295  // --------- Splitting thresholds
    296296  G4double mP= infEn;
    297   if(Z&&G4NucleiProperties::IsInStableTable(A-1,Z-1))
     297  if(A>1&&Z&&G4NucleiProperties::IsInStableTable(A-1,Z-1))
    298298          mP = G4NucleiProperties::GetNuclearMass(A-1,Z-1)/MeV; // ResNucMass for a proton
    299299
    300300  G4double mN= infEn;
    301   if(N&&G4NucleiProperties::IsInStableTable(A-1,Z))
     301  if(A>1&&G4NucleiProperties::IsInStableTable(A-1,Z))
    302302          mN = G4NucleiProperties::GetNuclearMass(A-1,Z)/MeV;  // ResNucMass for a neutron
    303303
    304304  G4double mA= infEn;
    305   if(N>1&&Z>1&&G4NucleiProperties::IsInStableTable(A-4,Z-2))
     305  if(A>4&&Z>1&&G4NucleiProperties::IsInStableTable(A-4,Z-2))
    306306          mA = G4NucleiProperties::GetNuclearMass(A-4,Z-2)/MeV; // ResNucMass for an alpha
    307307
  • trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QuasiFreeRatios.cc

    r1228 r1315  
    2525//
    2626//
    27 // $Id: G4QuasiFreeRatios.cc,v 1.1 2009/11/16 18:15:43 mkossov Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     27// $Id: G4QuasiFreeRatios.cc,v 1.3 2010/01/22 17:02:48 mkossov Exp $
     28// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2929//
    3030//
     
    443443    else
    444444    {
    445       G4double lr=lp+1.27;
    446       G4double LE=1.53/(lr*lr+.0676);
    447       G4double ld=lp-lmi;
     445      G4double lr=lp+1.27;                    // p1
     446      G4double LE=1.53/(lr*lr+.0676);         // p2, p3       
     447      G4double ld=lp-lmi;                     // p4 (lmi=3.5)
    448448      G4double ld2=ld*ld;
    449449      G4double p2=p*p;
    450450      G4double p4=p2*p2;
    451451      G4double sp=std::sqrt(p);
    452       G4double lm=lp+.36;
    453       G4double md=lm*lm+.04;
    454       G4double lh=lp-.017;
    455       G4double hd=lh*lh+.0025;
    456       El=LE+(pbe*ld2+2.4+7./sp)/(1.+.7/p4)+.6/md+.05/hd;
     452      G4double lm=lp+.36;                     // p5
     453      G4double md=lm*lm+.04;                  // p6
     454      G4double lh=lp-.017;                    // p7
     455      G4double hd=lh*lh+.0025;                // p8
     456      El=LE+(pbe*ld2+2.4+7./sp)/(1.+.7/p4)+.6/md+.05/hd;//p9(pbe=.0557),p10,p11,p12,p13,p14
    457457      To=LE*3+(pbt*ld2+22.3+12./sp)/(1.+.4/p4)+1./md+.06/hd;
    458458    }
     
    478478    else
    479479    {
    480       G4double lr=lp+1.27;
     480      G4double lr=lp+1.27;                   // p1
    481481      G4double lr2=lr*lr;
    482       G4double LE=13./(lr2+lr2*lr2+.0676);
    483       G4double ld=lp-lmi;
     482      G4double LE=13./(lr2+lr2*lr2+.0676);   // p2, p3
     483      G4double ld=lp-lmi;                    // p4 (lmi=3.5)
    484484      G4double ld2=ld*ld;
    485485      G4double p2=p*p;
    486486      G4double p4=p2*p2;
    487487      G4double sp=std::sqrt(p);
    488       G4double lm=lp-.32;
    489       G4double md=lm*lm+.0576;
    490       El=LE+(pbe*ld2+2.4+6./sp)/(1.+3./p4)+.7/md;
     488      G4double lm=lp-.32;                    // p5
     489      G4double md=lm*lm+.0576;               // p6
     490      El=LE+(pbe*ld2+2.4+6./sp)/(1.+3./p4)+.7/md; // p7(pbe=.0557), p8, p9, p10, p11
    491491      To=LE+(pbt*ld2+22.3+5./sp)/(1.+1./p4)+.8/md;
    492492    }
     
    933933  }
    934934  G4double P=std::sqrt(E2-mP2);                   // Momentum in pseudo laboratory system
    935   G4VQCrossSection* CSmanager=G4QElasticCrossSection::GetPointer();
     935  G4VQCrossSection* PCSmanager=G4QProtonElasticCrossSection::GetPointer();
     936  G4VQCrossSection* NCSmanager=G4QNeutronElasticCrossSection::GetPointer();
    936937#ifdef ppdebug
    937938  G4cout<<"G4QFR::Scatter: Before XS, P="<<P<<", Z="<<Z<<", N="<<N<<", PDG="<<pPDG<<G4endl;
     
    941942  G4int PDG=2212;                                                // *TMP* instead of pPDG
    942943  if(pPDG==2112||pPDG==-211||pPDG==-321) PDG=2112;               // *TMP* instead of pPDG
    943   G4double xSec=CSmanager->GetCrossSection(false, P, Z, N, PDG); // Rec.CrossSect *TMP*
    944   //G4double xSec=CSmanager->GetCrossSection(false, P, Z, N, pPDG); // Rec.CrossSect
     944  if(!Z && N==1)                 // Change for Quasi-Elastic on neutron
     945  {
     946    Z=1;
     947    N=0;
     948    if     (PDG==2212) PDG=2112;
     949    else if(PDG==2112) PDG=2212;
     950  }
     951  G4double xSec=0.;                        // Prototype of Recalculated Cross Section *TMP*
     952  if(PDG==2212) xSec=PCSmanager->GetCrossSection(false, P, Z, N, PDG); // P CrossSect *TMP*
     953  else          xSec=NCSmanager->GetCrossSection(false, P, Z, N, PDG); // N CrossSect *TMP*
    945954#ifdef ppdebug
    946955  G4cout<<"G4QElast::Scatter:pPDG="<<pPDG<<",P="<<P<<",CS="<<xSec/millibarn<<G4endl;
     
    951960#endif
    952961  // @@ check a possibility to separate p, n, or alpha (!)
    953   if(xSec <= 0.) // The cross-section iz 0 -> Do Nothing
     962  if(xSec <= 0.)                                    // The cross-section iz 0 -> Do Nothing
    954963  {
    955964#ifdef ppdebug
     
    958967    return std::make_pair(G4LorentzVector(0.,0.,0.,0.),p4M); //Do Nothing Action
    959968  }
    960   G4double mint=CSmanager->GetExchangeT(Z,N,PDG); // functional randomized -t (MeV^2) *TMP*
    961   //G4double mint=CSmanager->GetExchangeT(Z,N,pPDG); // functional randomized -t in MeV^2
    962   G4double maxt=CSmanager->GetHMaxT();            // max possible -t
     969  G4double mint=0.;                        // Prototype of functional rand -t (MeV^2) *TMP*
     970  if(PDG==2212) mint=PCSmanager->GetExchangeT(Z,N,PDG);// P functional rand -t(MeV^2) *TMP*
     971  else          mint=NCSmanager->GetExchangeT(Z,N,PDG);// N functional rand -t(MeV^2) *TMP*
     972  G4double maxt=0.;                                    // Prototype of max possible -t
     973  if(PDG==2212) maxt=PCSmanager->GetHMaxT();           // max possible -t
     974  else          maxt=NCSmanager->GetHMaxT();           // max possible -t
    963975#ifdef ppdebug
    964976  G4cout<<"G4QFR::Scat:PDG="<<PDG<<",P="<<P<<",X="<<xSec<<",-t="<<mint<<"<"<<maxt<<", Z="
     
    979991    else
    980992    {
    981       G4cerr<<"G4QFR::S:*NAN*c="<<cost<<",t="<<mint<<",tm="<<CSmanager->GetHMaxT()<<G4endl;
     993      G4double tm=0.;
     994      if(PDG==2212) tm=PCSmanager->GetHMaxT();
     995      else          tm=NCSmanager->GetHMaxT();
     996      G4cerr<<"G4QuasiFreeRatio::Scat:*NAN* cost="<<cost<<",-t="<<mint<<",tm="<<tm<<G4endl;
    982997      return std::make_pair(G4LorentzVector(0.,0.,0.,0.),p4M); // Do Nothing Action
    983998    }
     
    10691084  }
    10701085  G4double P=std::sqrt(E2-mS2);                   // Momentum in pseudo laboratory system
    1071   G4VQCrossSection* CSmanager=G4QElasticCrossSection::GetPointer();
     1086  G4VQCrossSection* PCSmanager=G4QProtonElasticCrossSection::GetPointer();
     1087  G4VQCrossSection* NCSmanager=G4QNeutronElasticCrossSection::GetPointer();
    10721088#ifdef debug
    10731089  G4cout<<"G4QFR::ChExer: Before XS, P="<<P<<", Z="<<Z<<", N="<<N<<", PDG="<<pPDG<<G4endl;
     
    10751091  // @@ Temporary NN t-dependence for all hadrons
    10761092  G4int PDG=2212;                                                // *TMP* instead of pPDG
    1077   G4double xSec=CSmanager->GetCrossSection(false, P, Z, N, PDG); // Rec.CrossSect *TMP*
    1078   //G4double xSec=CSmanager->GetCrossSection(false, P, Z, N, pPDG); // Rec.CrossSect
     1093  if(pPDG==2112||pPDG==-211||pPDG==-321) PDG=2112;               // *TMP* instead of pPDG
     1094  if(!Z && N==1)                 // Change for Quasi-Elastic on neutron
     1095  {
     1096    Z=1;
     1097    N=0;
     1098    if     (PDG==2212) PDG=2112;
     1099    else if(PDG==2112) PDG=2212;
     1100  }
     1101  G4double xSec=0.;                        // Prototype of Recalculated Cross Section *TMP*
     1102  if(PDG==2212) xSec=PCSmanager->GetCrossSection(false, P, Z, N, PDG); // P CrossSect *TMP*
     1103  else          xSec=NCSmanager->GetCrossSection(false, P, Z, N, PDG); // N CrossSect *TMP*
    10791104#ifdef debug
    10801105  G4cout<<"G4QElast::ChExer:pPDG="<<pPDG<<",P="<<P<<",CS="<<xSec/millibarn<<G4endl;
     
    10921117    return std::make_pair(G4LorentzVector(0.,0.,0.,0.),p4M); //Do Nothing Action
    10931118  }
    1094   G4double mint=CSmanager->GetExchangeT(Z,N,PDG); // functional randomized -t (MeV^2) *TMP*
    1095   //G4double mint=CSmanager->GetExchangeT(Z,N,pPDG); // functional randomized -t in MeV^2
     1119  G4double mint=0.;                        // Prototype of functional rand -t (MeV^2) *TMP*
     1120  if(PDG==2212) mint=PCSmanager->GetExchangeT(Z,N,PDG);// P functional rand -t(MeV^2) *TMP*
     1121  else          mint=NCSmanager->GetExchangeT(Z,N,PDG);// N functional rand -t(MeV^2) *TMP*
    10961122#ifdef pdebug
    10971123  G4cout<<"G4QFR::ChEx:PDG="<<pPDG<<", P="<<P<<", CS="<<xSec<<", -t="<<mint<<G4endl;
     
    11011127  else  G4cout<<"*Warning*G4QFR::ChExer: -t="<<mint<<G4endl;
    11021128#endif
    1103   G4double cost=1.-mint/CSmanager->GetHMaxT(); // cos(theta) in CMS
    1104 #ifdef pdebug
    1105   G4cout<<"G4QFR::ChEx:-t="<<mint<<",dpc2="<<CSmanager->GetHMaxT()<<",cost="<<cost<<G4endl;
     1129  G4double maxt=0.;                                    // Prototype of max possible -t
     1130  if(PDG==2212) maxt=PCSmanager->GetHMaxT();           // max possible -t
     1131  else          maxt=NCSmanager->GetHMaxT();           // max possible -t
     1132  G4double cost=1.-mint/maxt;                          // cos(theta) in CMS
     1133#ifdef pdebug
     1134  G4cout<<"G4QuasiFfreeRatio::ChExer: -t="<<mint<<", maxt="<<maxt<<", cost="<<cost<<G4endl;
    11061135#endif
    11071136  if(cost>1. || cost<-1. || !(cost>-1. || cost<=1.))
     
    11111140    else
    11121141    {
    1113       G4cerr<<"G4QFR::C:*NAN*c="<<cost<<",t="<<mint<<",tm="<<CSmanager->GetHMaxT()<<G4endl;
     1142      G4cerr<<"G4QuasiFreeRatio::ChExer:*NAN* c="<<cost<<",t="<<mint<<",tm="<<maxt<<G4endl;
    11141143      return std::make_pair(G4LorentzVector(0.,0.,0.,0.),p4M); // Do Nothing Action
    11151144    }
Note: See TracChangeset for help on using the changeset viewer.