65     const G4double dlP=(malP-milP)/(nH-1); 
    66     const G4double milPG=std::log(.001*Pmin);
    92   LEN = 
new std::vector<G4double*>;
    93   HEN = 
new std::vector<G4double*>;
    99   for(
G4int i=0; i<lens; ++i) 
delete[] (*
LEN)[i];
   103   for(
G4int i=0; i<hens; ++i) 
delete[] (*
HEN)[i];
   110     outFile << 
"G4ChipsKaonPlusInelasticXS provides the inelastic cross\n"   111             << 
"section for K+ nucleus scattering as a function of incident\n"   112             << 
"momentum. The cross section is calculated using M. Kossov's\n"   113             << 
"CHIPS parameterization of cross section data.\n";
   167         if(lastCS<=0. && pMom>
lastTH)  
   187         colP.push_back(pMom);
   224       if(sync<=I) 
G4cerr<<
"*!*G4ChipsKPlusNuclCS::CalcCrosSect:Sync="<<sync<<
"<="<<I<<
G4endl;
   250         G4cerr<<
"***G4ChipsKPlusNuclCS::CalcCrossSect: Sinc="<<sync<<
"#"<<I<<
", Z=" <<targZ
   251               <<
", N="<<targN<<
", F="<<F<<
G4endl;
   260   if (Momentum<
lastTH) 
return 0.;      
   261   else if (Momentum<Pmin)              
   263     if(A<=1. && Momentum < 600.) sigma=0.; 
   266   else if (Momentum<Pmax)              
   276   if(sigma<0.) 
return 0.;
   284   if(tZ<.99 || tN<0.) 
return 0.;
   287   if(tZ==1 && tN==0) tM=prM;          
   288   else dE=tZ/(1.+std::pow(tA,
third)); 
   291   return std::sqrt(T*(tpM+T));
   321     G4double El=(.0557*ld2+2.23)/(1.-.7/sp+.1/p4);
   322     G4double To=(.3*ld2+19.5)/(1.+.46/sp+1.6/p4);
   325   else if(tZ<97 && tN<152)                
   351       c=52.*std::exp(al*.6)*(1.+95./
a2)/(1.+9./a)/(1.+46./
a2);
   352       ss=(40.+.14*
a)/(1.+12./a);
   354       t=.185*y/(1.+.00012*
y);
   355       u=(1.+80./asa)/(1.+200./asa);
   356       v=(1.+3.E-6*a4*(1.+6.E-7*a3+4.E10/a12))/a3/20000.;
   363     sigma=(f*d*d+
c)/(1.+r/std::sqrt(P)+1./p4)+(rD+rR)/(1+v/p4/p4);
   367     G4cerr<<
"-Warning-G4ChipsKaonPlusNuclearCroSect::CSForm:Bad A, Z="<<tZ<<
", N="<<tN<<
G4endl;
   370   if(sigma<0.) 
return 0.;
   378       G4cerr<<
"***G4ChipsKaonPlusInelasticXS::EquLinearFit: DX="<<DX<<
", N="<<N<<
G4endl;
   384   G4int         jj=
static_cast<int>(
d);
   386   else if(jj>N2) jj=N2;
 std::vector< G4double > colP
 
std::vector< G4int > colZ
 
std::vector< G4int > colN
 
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
 
G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP)
 
G4ChipsKaonPlusInelasticXS()
 
~G4ChipsKaonPlusInelasticXS()
 
G4double ThresholdMomentum(G4int targZ, G4int targN)
 
G4double GetTotalMomentum() const
 
std::vector< G4double > colCS
 
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int tgZ, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
 
std::vector< G4double * > * HEN
 
#define G4MUTEX_INITIALIZER
 
std::vector< G4double * > * LEN
 
virtual void CrossSectionDescription(std::ostream &) const
 
G4double CalculateCrossSection(G4int F, G4int I, G4int PDG, G4int Z, G4int N, G4double Momentum)
 
G4_DECLARE_XS_FACTORY(G4ChipsKaonPlusInelasticXS)
 
double A(double temperature)
 
G4double CrossSectionLin(G4int targZ, G4int targN, G4double P)
 
std::vector< G4double > colTH
 
static G4Proton * Proton()
 
static G4PionPlus * PionPlus()
 
G4double EquLinearFit(G4double X, G4int N, G4double X0, G4double DX, G4double *Y)
 
G4double GetPDGMass() const
 
G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP)
 
static const double millibarn
 
static const G4double third
 
static G4KaonPlus * KaonPlus()
 
static const G4double THmin
 
virtual G4bool IsIsoApplicable(const G4DynamicParticle *Pt, G4int Z, G4int A, const G4Element *elm, const G4Material *mat)
 
G4GLOB_DLL std::ostream G4cerr