Changeset 1315 for trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QKaonMinusNuclearCrossSection.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/G4QKaonMinusNuclearCrossSection.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 // … … 91 91 // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---*** 92 92 #ifdef debug 93 G4cout<<"G4Q PrCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN93 G4cout<<"G4QKmCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN 94 94 <<"("<<lastN<<"),PDG="<<PDG<<", thresh="<<lastTH<<",Sz="<<colN.size()<<G4endl; 95 95 #endif … … 105 105 j = 0; // A#0f records found in DB for this projectile 106 106 #ifdef debug 107 G4cout<<"G4Q PrCS::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; 108 108 #endif 109 109 if(lastI) for(G4int i=0; i<lastI; i++) // AMDB exists, try to find the (Z,N) isotope … … 114 114 lastTH =colTH[i]; // The last THreshold (A-dependent) 115 115 #ifdef debug 116 G4cout<<"G4Q PrCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl;116 G4cout<<"G4QKmCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",j="<<j<<G4endl; 117 117 #endif 118 118 if(pMom<=lastTH) … … 129 129 { 130 130 #ifdef debug 131 G4cout<<"..G4Q PrCS::GetCS:.DoNothing.P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;132 #endif 133 //CalculateCrossSection(fCS,-1,j, 2212,lastZ,lastN,pMom); // Update param's only131 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 134 134 return lastCS*millibarn; // Use theLastCS 135 135 } … … 137 137 // Momentum pMom is in IU ! @@ Units 138 138 #ifdef debug 139 G4cout<<"G4Q PrCS::G:UpdatDB P="<<pMom<<",f="<<fCS<<",lI="<<lastI<<",j="<<j<<G4endl;140 #endif 141 lastCS=CalculateCrossSection(fCS,-1,j, 2212,lastZ,lastN,pMom); // read & update142 #ifdef debug 143 G4cout<<"G4Q PrCS::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; 144 144 #endif 145 145 if(lastCS<=0. && pMom>lastTH) // Correct the threshold (@@ No intermediate Zeros) 146 146 { 147 147 #ifdef debug 148 G4cout<<"G4Q PrCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl;148 G4cout<<"G4QKmCS::GetCS: New P="<<pMom<<"(CS=0) > Threshold="<<lastTH<<G4endl; 149 149 #endif 150 150 lastCS=0.; … … 154 154 } 155 155 #ifdef debug 156 G4cout<<"-->G4Q PrCrossSec::GetCrosSec: pPDG=2212, j="<<j<<", N="<<colN[i]156 G4cout<<"-->G4QKmCrossSec::GetCrosSec: pPDG=-321, j="<<j<<", N="<<colN[i] 157 157 <<",Z["<<i<<"]="<<colZ[i]<<G4endl; 158 158 #endif … … 160 160 } 161 161 #ifdef debug 162 G4cout<<"-?-G4Q PrCS::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; 163 163 #endif 164 164 if(!in) // This isotope has not been calculated previously 165 165 { 166 166 #ifdef debug 167 G4cout<<"^^^G4Q PrCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl;167 G4cout<<"^^^G4QKmCS::GetCS:CalcNew P="<<pMom<<", f="<<fCS<<", lastI="<<lastI<<G4endl; 168 168 #endif 169 169 //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU) 170 lastCS=CalculateCrossSection(fCS,0,j, 2212,lastZ,lastN,pMom); //calculate & create170 lastCS=CalculateCrossSection(fCS,0,j,-321,lastZ,lastN,pMom); //calculate & create 171 171 //if(lastCS>0.) // It means that the AMBD was initialized 172 172 //{ … … 174 174 lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last 175 175 #ifdef debug 176 G4cout<<"G4Q PrCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl;176 G4cout<<"G4QKmCrossSection::GetCrossSect: NewThresh="<<lastTH<<",P="<<pMom<<G4endl; 177 177 #endif 178 178 colN.push_back(tgN); … … 182 182 colCS.push_back(lastCS); 183 183 #ifdef debug 184 G4cout<<"G4Q PrCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;184 G4cout<<"G4QKmCS::GetCrosSec:recCS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl; 185 185 #endif 186 186 //} // M.K. Presence of H1 with high threshold breaks the syncronization 187 187 #ifdef pdebug 188 G4cout<<"G4Q PrCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;188 G4cout<<"G4QKmCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl; 189 189 #endif 190 190 return lastCS*millibarn; … … 193 193 { 194 194 #ifdef debug 195 G4cout<<"G4Q PrCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl;195 G4cout<<"G4QKmCS::GetCS: Update lastI="<<lastI<<",j="<<j<<G4endl; 196 196 #endif 197 197 colP[lastI]=pMom; … … 202 202 { 203 203 #ifdef debug 204 G4cout<<"G4Q PrCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;204 G4cout<<"G4QKmCS::GetCS: Current P="<<pMom<<" < Threshold="<<lastTH<<", CS=0"<<G4endl; 205 205 #endif 206 206 return 0.; // Momentum is below the Threshold Value -> CS=0 … … 219 219 G4cout<<"-!-G4QPCS::GetCS:UseCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl; 220 220 #endif 221 lastCS=CalculateCrossSection(fCS,1,j, 2212,lastZ,lastN,pMom); // Only read and UpdateDB221 lastCS=CalculateCrossSection(fCS,1,j,-321,lastZ,lastN,pMom); // Only read and UpdateDB 222 222 lastP=pMom; 223 223 } 224 224 #ifdef debug 225 G4cout<<"==>G4Q PrCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;225 G4cout<<"==>G4QKmCS::GetCroSec: P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl; 226 226 #endif 227 227 return lastCS*millibarn; … … 245 245 static const G4double milPG=std::log(.001*Pmin);// Low logarithmEnergy for HEN part GeV/c 246 246 #ifdef debug 247 G4cout<<"G4Q ProtNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl;247 G4cout<<"G4QKmNCS::CalCS:N="<<targN<<",Z="<<targZ<<",P="<<Momentum<<">"<<THmin<<G4endl; 248 248 #endif 249 249 G4double sigma=0.; … … 251 251 G4double A=targN+targZ; // A of the target 252 252 #ifdef debug 253 G4cout<<"G4Q ProtNucCS::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; 254 254 #endif 255 255 if(F<=0) // This isotope was not the last used isotop … … 280 280 } 281 281 #ifdef debug 282 G4cout<<"-*->G4Q Pr0tNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl;282 G4cout<<"-*->G4QKmNucCS::CalcCS:Tab for Z="<<targZ<<",N="<<targN<<",I="<<I<<G4endl; 283 283 #endif 284 284 // --- End of possible separate function … … 297 297 // ============================== NOW the Magic Formula ================================= 298 298 #ifdef debug 299 G4cout<<"G4Q PrNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl;299 G4cout<<"G4QKmNCS::CalcCS:lTH="<<lastTH<<",Pmi="<<Pmin<<",dP="<<dP<<",dlP="<<dlP<<G4endl; 300 300 #endif 301 301 if (Momentum<lastTH) return 0.; // It must be already checked in the interface class … … 303 303 { 304 304 #ifdef debug 305 G4cout<<"G4Q PrNCS::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; 306 306 #endif 307 307 if(A<=1.) sigma=0.; … … 309 309 #ifdef debugn 310 310 if(sigma<0.) 311 G4cout<<"G4Q PrNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl;311 G4cout<<"G4QKmNuCS::CalcCS:A="<<A<<",E="<<Momentum<<",T="<<THmin<<",dP="<<dP<<G4endl; 312 312 #endif 313 313 } … … 316 316 G4double lP=std::log(Momentum); 317 317 #ifdef debug 318 G4cout<<"G4Q ProtNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl;318 G4cout<<"G4QKmNucCS::CalcCS: before HEN nH="<<nH<<",iE="<<milP<<",dlP="<<dlP<<G4endl; 319 319 #endif 320 320 sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN);
Note: See TracChangeset
for help on using the changeset viewer.