Changeset 1315 for trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QAntiBaryonPlusNuclearCrossSection.cc
- Timestamp:
- Jun 18, 2010, 11:42:07 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QAntiBaryonPlusNuclearCrossSection.cc
r1228 r1315 26 26 // 27 27 // The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02 28 // GEANT4 tag $Name: geant4-09-0 3$28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $ 29 29 // 30 30 // … … 93 93 // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---*** 94 94 #ifdef debug 95 G4cout<<"G4Q PrCS::GetCS:>>>f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN96 <<"("<<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; 97 97 #endif 98 98 if(PDG!=-3112 && PDG!=-3312 && PDG!=-3334) … … 108 108 j = 0; // A#0f records found in DB for this projectile 109 109 #ifdef debug 110 G4cout<<"G4Q PrCS::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; 111 111 #endif 112 112 if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope … … 117 117 lastTH =colTH[i]; // The last THreshold (A-dependent) 118 118 #ifdef debug 119 G4cout<<"G4Q PrCS::GetCS:*Found*P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;119 G4cout<<"G4QaBPCS::GetCS:*Found*P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl; 120 120 #endif 121 121 if(pMom<=lastTH) … … 132 132 { 133 133 #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 only134 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 137 137 return lastCS*millibarn; // Use theLastCS 138 138 } … … 140 140 // Momentum pMom is in IU ! @@ Units 141 141 #ifdef debug 142 G4cout<<"G4Q PrCS::G:UpdatDBP="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;143 #endif 144 lastCS=CalculateCrossSection(fCS,-1,j, 2212,lastZ,lastN,pMom); // read & update145 #ifdef debug 146 G4cout<<"G4Q PrCS::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; 147 147 #endif 148 148 if(lastCS<=0. && pMom>lastTH) // Correct the threshold (@@ No intermediate Zeros) 149 149 { 150 150 #ifdef debug 151 G4cout<<"G4Q PrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;151 G4cout<<"G4QaBPNuCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl; 152 152 #endif 153 153 lastCS=0.; … … 157 157 } 158 158 #ifdef debug 159 G4cout<<"-->G4Q PrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]159 G4cout<<"-->G4QaBarPNucCrossSec::GetCrosSec: pPDG="<<PDG<<", j="<<j<<", N="<<colN[i] 160 160 <<",Z["<<i<<"]="<<colZ[i]<<G4endl; 161 161 #endif … … 163 163 } 164 164 #ifdef debug 165 G4cout<<"-?-G4Q PrCS::GetCS:RCZ="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl;165 G4cout<<"-?-G4QaBPNCS::GeCS:R,Z="<<tgZ<<",N="<<tgN<<",in="<<in<<",j="<<j<<" ?"<<G4endl; 166 166 #endif 167 167 if(!in) // This isotope has not been calculated previously 168 168 { 169 169 #ifdef debug 170 G4cout<<"^^^G4Q PrCS::GetCS:CalcNewP="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;170 G4cout<<"^^^G4QaBPCS::GetCS:CalcNewP="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl; 171 171 #endif 172 172 //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU) 173 lastCS=CalculateCrossSection(fCS,0,j, 2212,lastZ,lastN,pMom); //calculate & create173 lastCS=CalculateCrossSection(fCS,0,j,PDG,lastZ,lastN,pMom); //calculate & create 174 174 //if(lastCS>0.) // It means that the AMBD was initialized 175 175 //{ … … 177 177 lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last 178 178 #ifdef debug 179 G4cout<<"G4Q PrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;179 G4cout<<"G4QaBPNucCrossSec::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl; 180 180 #endif 181 181 colN.push_back(tgN); … … 185 185 colCS.push_back(lastCS); 186 186 #ifdef debug 187 G4cout<<"G4Q PrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;187 G4cout<<"G4QaBPNCS::GetCrosSec:lCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl; 188 188 #endif 189 189 //} // M.K. Presence of H1 with high threshold breaks the syncronization 190 190 #ifdef pdebug 191 G4cout<<"G4Q PrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;191 G4cout<<"G4QaBPNCS::GCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl; 192 192 #endif 193 193 return lastCS*millibarn; … … 196 196 { 197 197 #ifdef debug 198 G4cout<<"G4Q PrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;198 G4cout<<"G4QaBarPNucCrossSect::GetCrosSect: Update lastI="<<lastI<<",j="<<j<<G4endl; 199 199 #endif 200 200 colP[lastI]=pMom; … … 205 205 { 206 206 #ifdef debug 207 G4cout<<"G4Q PrCS::GetCS: CurrentP="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;207 G4cout<<"G4QaBPNuCS::GetCS:CurrentP="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl; 208 208 #endif 209 209 return 0.; // Momentum is below the Threshold Value -> CS=0 … … 213 213 { 214 214 #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; 216 216 #endif 217 217 return lastCS*millibarn; // Use theLastCS … … 220 220 { 221 221 #ifdef debug 222 G4cout<<"-!-G4Q PCS::GetCS:UseCurP="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;223 #endif 224 lastCS=CalculateCrossSection(fCS,1,j, 2212,lastZ,lastN,pMom); // Only read and UpdateDB222 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 225 225 lastP=pMom; 226 226 } 227 227 #ifdef debug 228 G4cout<<"==>G4Q PrCS::GetCroSec:P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;228 G4cout<<"==>G4QaBPCS::GetCroSec:P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl; 229 229 #endif 230 230 return lastCS*millibarn; … … 248 248 static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c 249 249 #ifdef debug 250 G4cout<<"G4Q ProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;250 G4cout<<"G4QaBPNuCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl; 251 251 #endif 252 252 G4double sigma=0.; … … 254 254 G4double A=targN+targZ; // A of the target 255 255 #ifdef debug 256 G4cout<<"G4Q ProtNucCS::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; 257 257 #endif 258 258 if(F<=0) // This isotope was not the last used isotop … … 261 261 { 262 262 G4int sync=LEN->size(); 263 if(sync<=I) G4cerr<<"*!*G4Q PiMinusNuclCS::CalcCrosSect:Sync="<<sync<<"<="<<I<<G4endl;263 if(sync<=I) G4cerr<<"*!*G4QaBarPNuclCS::CalcCrosSect: Sync="<<sync<<"<="<<I<<G4endl; 264 264 lastLEN=(*LEN)[I]; // Pointer to prepared LowEnergy cross sections 265 265 lastHEN=(*HEN)[I]; // Pointer to prepared High Energy cross sections … … 283 283 } 284 284 #ifdef debug 285 G4cout<<"-*->G4Q Pr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;285 G4cout<<"-*->G4QaBarPNucCS::CalCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl; 286 286 #endif 287 287 // --- End of possible separate function … … 290 290 if(sync!=I) 291 291 { 292 G4cerr<<"***G4Q PiMinusNuclCS::CalcCrossSect: Sinc="<<sync<<"#"<<I<<", Z=" <<targZ292 G4cerr<<"***G4QaBarPNuclCS::CalcCrossSect: Sinc="<<sync<<"#"<<I<<", Z=" <<targZ 293 293 <<", N="<<targN<<", F="<<F<<G4endl; 294 294 //G4Exception("G4PiMinusNuclearCS::CalculateCS:","39",FatalException,"DBoverflow"); … … 300 300 // ============================== NOW the Magic Formula ================================= 301 301 #ifdef debug 302 G4cout<<"G4Q PrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;302 G4cout<<"G4QaBPNCS::CalCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl; 303 303 #endif 304 304 if (Momentum<lastTH) return 0.; // It must be already checked in the interface class … … 306 306 { 307 307 #ifdef debug 308 G4cout<<"G4Q PrNCS::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; 309 309 #endif 310 310 if(A<=1.) sigma=0.; … … 312 312 #ifdef debugn 313 313 if(sigma<0.) 314 G4cout<<"G4Q PrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;314 G4cout<<"G4QaBPNCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl; 315 315 #endif 316 316 } … … 319 319 G4double lP=std::log(Momentum); 320 320 #ifdef debug 321 G4cout<<"G4Q ProtNucCS::CalcCS:before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;321 G4cout<<"G4QaBarPNucCS::CalcCS:before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl; 322 322 #endif 323 323 sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
Note: See TracChangeset
for help on using the changeset viewer.