Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer 3 // * License and Disclaimer * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/ 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. 9 // * include a list of copyright holders. * 10 // * 10 // * * 11 // * Neither the authors of this software syst 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitatio 16 // * for the full disclaimer and the limitation of liability. * 17 // * 17 // * * 18 // * This code implementation is the result 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboratio 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distri 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you ag 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publicati 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Sof 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************* 24 // ******************************************************************** 25 // 25 // >> 26 // $Id: G4eeCrossSections.cc,v 1.6 2006/06/29 19:32:42 gunter Exp $ >> 27 // GEANT4 tag $Name: geant4-08-01-patch-01 $ 26 // 28 // 27 // ------------------------------------------- 29 // ------------------------------------------------------------------- 28 // 30 // 29 // GEANT4 Class header file 31 // GEANT4 Class header file 30 // 32 // 31 // 33 // 32 // File name: G4eeCrossSections 34 // File name: G4eeCrossSections 33 // 35 // 34 // Author: Vladimir Ivanchenko 36 // Author: Vladimir Ivanchenko 35 // 37 // 36 // Creation date: 25.10.2003 38 // Creation date: 25.10.2003 37 // 39 // 38 // Modifications: 40 // Modifications: 39 // 10.07.2008 Updated for PDG Jour. Physics, G << 41 // 40 // 42 // 41 // ------------------------------------------- 43 // ------------------------------------------------------------------- 42 // 44 // 43 45 44 46 45 //....oooOO0OOooo........oooOO0OOooo........oo 47 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 46 //....oooOO0OOooo........oooOO0OOooo........oo 48 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 47 49 48 #include "G4eeCrossSections.hh" 50 #include "G4eeCrossSections.hh" 49 #include "G4PhysicalConstants.hh" << 50 #include "G4SystemOfUnits.hh" << 51 #include "G4PionPlus.hh" 51 #include "G4PionPlus.hh" 52 #include "G4PionMinus.hh" 52 #include "G4PionMinus.hh" 53 #include "G4PionZero.hh" 53 #include "G4PionZero.hh" 54 #include "G4Eta.hh" << 55 #include "G4KaonPlus.hh" 54 #include "G4KaonPlus.hh" 56 #include "G4KaonMinus.hh" 55 #include "G4KaonMinus.hh" 57 #include "G4KaonZeroLong.hh" 56 #include "G4KaonZeroLong.hh" 58 #include "G4PhysicsLinearVector.hh" 57 #include "G4PhysicsLinearVector.hh" 59 58 60 #include <iostream> 59 #include <iostream> 61 #include <fstream> 60 #include <fstream> 62 61 63 //....oooOO0OOooo........oooOO0OOooo........oo 62 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 64 63 65 using namespace std; 64 using namespace std; 66 65 67 G4eeCrossSections::G4eeCrossSections() 66 G4eeCrossSections::G4eeCrossSections() 68 { 67 { 69 Initialise(); 68 Initialise(); 70 } 69 } 71 70 72 //....oooOO0OOooo........oooOO0OOooo........oo 71 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 73 72 74 G4eeCrossSections::~G4eeCrossSections() 73 G4eeCrossSections::~G4eeCrossSections() 75 {} 74 {} 76 75 77 //....oooOO0OOooo........oooOO0OOooo........oo 76 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 78 77 79 void G4eeCrossSections::Initialise() 78 void G4eeCrossSections::Initialise() 80 { 79 { 81 MsPi = G4PionPlus::PionPlus()->GetPDGMass(); 80 MsPi = G4PionPlus::PionPlus()->GetPDGMass(); 82 MsPi0= G4PionZero::PionZero()->GetPDGMass(); 81 MsPi0= G4PionZero::PionZero()->GetPDGMass(); 83 MsEta= G4Eta::Eta()->GetPDGMass(); << 82 MsEta= 547.30*MeV; 84 MsEtap=957.78*MeV; 83 MsEtap=957.78*MeV; 85 MsKs = G4KaonZeroLong::KaonZeroLong()->GetPD 84 MsKs = G4KaonZeroLong::KaonZeroLong()->GetPDGMass(); 86 MsKc = G4KaonPlus::KaonPlus()->GetPDGMass(); << 85 MsKc=G4KaonPlus::KaonPlus()->GetPDGMass(); 87 MsRho= 775.5*MeV; << 86 MsRho= 770.0*MeV; 88 MsOm = 782.62*MeV; << 87 MsOm = 781.94*MeV; 89 MsF0 = 980.0*MeV; 88 MsF0 = 980.0*MeV; 90 MsA0 = 984.7*MeV; << 89 MsA0 = 983.4*MeV; 91 MsPhi= 1019.46*MeV; << 90 MsPhi= 1019.413*MeV; 92 MsK892 = 891.66*MeV; 91 MsK892 = 891.66*MeV; 93 MsK0892 = 896.0*MeV; << 92 MsK0892 = 896.10*MeV; 94 GRho = 149.4*MeV; << 93 GRho = 150.7*MeV; 95 GOm = 8.49*MeV; << 94 GOm = 8.41*MeV; 96 GPhi = 4.26*MeV; << 95 GPhi = 4.43*MeV; 97 GK892 = 50.8*MeV; 96 GK892 = 50.8*MeV; 98 GK0892 = 50.3*MeV; << 97 GK0892 = 50.5*MeV; 99 PhRho = 0.0; 98 PhRho = 0.0; 100 PhOm = 0.0; 99 PhOm = 0.0; 101 PhPhi = 155.0*degree; 100 PhPhi = 155.0*degree; 102 PhRhoPi = 186.0*degree; 101 PhRhoPi = 186.0*degree; 103 102 104 BrRhoPiG = 4.5e-4; 103 BrRhoPiG = 4.5e-4; 105 BrRhoPi0G= 6.8e-4; 104 BrRhoPi0G= 6.8e-4; 106 BrRhoEtaG= 2.95e-4; << 105 BrRhoEtaG= 2.4e-4; 107 BrRhoEe = 4.7e-5; << 106 BrRhoEe = 4.49e-5; 108 BrOm3Pi = 0.891; << 107 BrOm3Pi = 0.888; 109 BrOmPi0G= 0.089; << 108 BrOmPi0G= 0.085; 110 BrOmEtaG= 4.9e-4; << 109 BrOmEtaG= 6.5e-4; 111 BrOm2Pi = 0.017; << 110 BrOm2Pi = 0.0221; 112 PhOm2Pi = 90.0; 111 PhOm2Pi = 90.0; 113 BrOmEe = 7.18e-5; << 112 BrOmEe = 7.07e-5; 114 BrPhi2Kc = 0.492; << 113 BrPhi2Kc = 0.491; 115 BrPhiKsKl= 0.34; << 114 BrPhiKsKl= 0.341; 116 BrPhi3Pi = 0.153; << 115 BrPhi3Pi = 0.155; 117 BrPhiPi0G= 1.25e-3; << 116 BrPhiPi0G= 1.31e-3; 118 BrPhiEtaG= 1.301e-2; << 117 BrPhiEtaG= 1.26e-2; 119 BrPhi2Pi = 7.3e-5; << 118 BrPhi2Pi = 8.e-5; 120 PhPhi2Pi = -20.0*degree; 119 PhPhi2Pi = -20.0*degree; 121 BrPhiEe = 2.97e-4; << 120 BrPhiEe = 2.99e-4; 122 121 123 MsRho3 = MsRho*MsRho*MsRho; 122 MsRho3 = MsRho*MsRho*MsRho; 124 MsOm3 = MsOm*MsOm*MsOm; 123 MsOm3 = MsOm*MsOm*MsOm; 125 MsPhi3 = MsPhi*MsPhi*MsPhi; 124 MsPhi3 = MsPhi*MsPhi*MsPhi; 126 125 127 MeVnb = 3.8938e+11*nanobarn; 126 MeVnb = 3.8938e+11*nanobarn; 128 Alpha = fine_structure_const; << 127 Alpha = 1.0/137.036; 129 128 130 AOmRho = 3.0; 129 AOmRho = 3.0; 131 ARhoPRho = 0.72; 130 ARhoPRho = 0.72; 132 cterm=0.; 131 cterm=0.; 133 mssig = 600.*MeV; 132 mssig = 600.*MeV; 134 gsig = 500.*MeV; 133 gsig = 500.*MeV; 135 brsigpipi = 1.; 134 brsigpipi = 1.; 136 135 137 msrho1450 = 1459.*MeV; << 136 msrho1450 = 1465.*MeV; 138 msrho1700 = 1688.8*MeV; << 137 msrho1700 = 1700.*MeV; 139 grho1450 = 171.*MeV; << 138 grho1450 = 310.*MeV; 140 grho1700 = 161.*MeV; << 139 grho1700 = 240.*MeV; 141 arhoompi0 = 1.; 140 arhoompi0 = 1.; 142 arho1450ompi0 = 1.; 141 arho1450ompi0 = 1.; 143 arho1700ompi0 = 1.; 142 arho1700ompi0 = 1.; 144 phrhoompi0 = 0.; 143 phrhoompi0 = 0.; 145 phrho1450ompi0 = pi; 144 phrho1450ompi0 = pi; 146 phrho1700ompi0 = 0.; 145 phrho1700ompi0 = 0.; 147 aomrhopi0 = 1.; 146 aomrhopi0 = 1.; 148 phomrhopi0 = 0.; 147 phomrhopi0 = 0.; 149 arhopi0pi0g = 0.; 148 arhopi0pi0g = 0.; 150 aompi0pi0g = 0.; 149 aompi0pi0g = 0.; 151 phrhopi0pi0g = 0.; 150 phrhopi0pi0g = 0.; 152 phompi0pi0g = 0.; 151 phompi0pi0g = 0.; 153 brrho1450ompi0 = 0.02; 152 brrho1450ompi0 = 0.02; 154 brrho1450pipi = 0.50; 153 brrho1450pipi = 0.50; 155 brrho1700ompi0 = 1.0; 154 brrho1700ompi0 = 1.0; 156 brrho1700pipi = 0.02; 155 brrho1700pipi = 0.02; 157 aphirhopi0 = 1.; 156 aphirhopi0 = 1.; 158 phphirhopi0 = pi; 157 phphirhopi0 = pi; 159 arhosigg = 0.; 158 arhosigg = 0.; 160 phrhosigg = 0.; 159 phrhosigg = 0.; 161 aomsigg = 0.; 160 aomsigg = 0.; 162 phomsigg = 0.; 161 phomsigg = 0.; 163 162 164 G4String w0, w1, w2; 163 G4String w0, w1, w2; 165 ph3p = 0; 164 ph3p = 0; 166 165 167 /* 166 /* 168 G4double emin, emax; 167 G4double emin, emax; 169 G4int nbins; 168 G4int nbins; 170 const G4String fname = "wrhopi.wid"; 169 const G4String fname = "wrhopi.wid"; 171 ifstream fi(fname.c_str()); 170 ifstream fi(fname.c_str()); 172 fi >> w0 >> nbins >> w1 >> emin >> w2 >> ema 171 fi >> w0 >> nbins >> w1 >> emin >> w2 >> emax; 173 emin *= MeV; 172 emin *= MeV; 174 emax *= MeV; 173 emax *= MeV; 175 ph3p = new G4PhysicsLinearVector(emin,emax,n 174 ph3p = new G4PhysicsLinearVector(emin,emax,nbins); 176 G4int nlines = nbins/5; 175 G4int nlines = nbins/5; 177 G4double s0, s1, s2, s3, s4; 176 G4double s0, s1, s2, s3, s4; 178 for(G4int i=0; i<nlines; i++) { 177 for(G4int i=0; i<nlines; i++) { 179 fi >> s0 >> s1 >> s2 >> s3 >> s4; 178 fi >> s0 >> s1 >> s2 >> s3 >> s4; 180 ph3p->PutValue(5*i, s0); 179 ph3p->PutValue(5*i, s0); 181 ph3p->PutValue(5*i + 1, s1); 180 ph3p->PutValue(5*i + 1, s1); 182 ph3p->PutValue(5*i + 2, s2); 181 ph3p->PutValue(5*i + 2, s2); 183 ph3p->PutValue(5*i + 3, s3); 182 ph3p->PutValue(5*i + 3, s3); 184 ph3p->PutValue(5*i + 4, s4); 183 ph3p->PutValue(5*i + 4, s4); 185 } 184 } 186 fi.close(); 185 fi.close(); 187 */ 186 */ 188 } 187 } 189 188 190 //....oooOO0OOooo........oooOO0OOooo........oo 189 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 191 190 192 G4double G4eeCrossSections::CrossSection2pi(G4 191 G4double G4eeCrossSections::CrossSection2pi(G4double e) 193 { << 192 { >> 193 194 complex<G4double> xr(cos(PhRho),sin(PhRho)); 194 complex<G4double> xr(cos(PhRho),sin(PhRho)); 195 complex<G4double> xo(cos(PhOm2Pi),sin(PhOm2P 195 complex<G4double> xo(cos(PhOm2Pi),sin(PhOm2Pi)); 196 complex<G4double> xf(cos(PhPhi2Pi),sin(PhPhi 196 complex<G4double> xf(cos(PhPhi2Pi),sin(PhPhi2Pi)); 197 197 198 G4double s_inv = e*e; << 198 G4double s = e*e; 199 complex<G4double> drho = DpRho(e); 199 complex<G4double> drho = DpRho(e); 200 complex<G4double> dom = DpOm(e); 200 complex<G4double> dom = DpOm(e); 201 complex<G4double> dphi = DpPhi(e); 201 complex<G4double> dphi = DpPhi(e); 202 202 203 complex<G4double> amp = 203 complex<G4double> amp = 204 sqrt(Width2p(s_inv,MsRho,GRho,1.0,MsPi)* << 204 sqrt(Width2p(s,MsRho,GRho,1.0,MsPi)*MsRho3*BrRhoEe*GRho)*xr/drho 205 + sqrt(Width2p(s_inv,MsOm,GOm,BrOm2Pi,MsPi << 205 + sqrt(Width2p(s,MsOm,GOm,BrOm2Pi,MsPi)*MsOm3*BrOmEe*GOm)*xo/dom 206 + sqrt(Width2p(s_inv,MsPhi,GPhi,BrPhi2Pi,M << 206 + sqrt(Width2p(s,MsPhi,GPhi,BrPhi2Pi,MsPi)*MsPhi3*BrPhiEe*GPhi)*xf/dphi; 207 << 208 G4double cross = 12.0*pi*MeVnb*norm(amp)/(e* << 209 << 210 return cross; << 211 } << 212 << 213 //....oooOO0OOooo........oooOO0OOooo........oo << 214 << 215 G4double G4eeCrossSections::CrossSection3pi(G4 << 216 { << 217 complex<G4double> xf(cos(PhPhi2Pi),sin(PhPhi << 218 << 219 G4double s_inv = e*e; << 220 complex<G4double> dom = DpOm(e); << 221 complex<G4double> dphi = DpPhi(e); << 222 << 223 complex<G4double> amp = << 224 sqrt(Width3p(s_inv,MsOm,GOm,BrOm3Pi)*MsOm3 << 225 + sqrt(Width3p(s_inv,MsPhi,GPhi,BrPhi3Pi)* << 226 207 227 G4double cross = 12.0*pi*MeVnb*norm(amp)/(e* << 208 G4double cross = 12.0*pi*MeVnb*norm(amp)/(e*s); 228 209 229 return cross; 210 return cross; 230 } 211 } 231 212 232 //....oooOO0OOooo........oooOO0OOooo........oo 213 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 233 214 234 G4double G4eeCrossSections::CrossSectionPi0G(G << 215 G4double G4eeCrossSections::Width2p(G4double s, G4double mres, 235 { << 216 G4double g, G4double br, G4double m) 236 complex<G4double> xf(cos(PhPhi),sin(PhPhi)); << 237 << 238 G4double s_inv = e*e; << 239 complex<G4double> drho = DpRho(e); << 240 complex<G4double> dom = DpOm(e); << 241 complex<G4double> dphi = DpPhi(e); << 242 << 243 complex<G4double> amp = << 244 sqrt(WidthPg(s_inv,MsRho,GRho,BrRhoPi0G, << 245 + sqrt(WidthPg(s_inv,MsOm,GOm,BrOmPi0G,MsP << 246 + sqrt(WidthPg(s_inv,MsPhi,GPhi,BrPhiPi0G, << 247 << 248 G4double cross = 12.0*pi*MeVnb*norm(amp)/(e* << 249 << 250 return cross; << 251 } << 252 << 253 //....oooOO0OOooo........oooOO0OOooo........oo << 254 << 255 G4double G4eeCrossSections::CrossSectionEtaG(G << 256 { << 257 complex<G4double> xf(cos(PhPhi),sin(PhPhi)); << 258 << 259 G4double s_inv = e*e; << 260 complex<G4double> drho = DpRho(e); << 261 complex<G4double> dom = DpOm(e); << 262 complex<G4double> dphi = DpPhi(e); << 263 << 264 complex<G4double> amp = << 265 sqrt(WidthPg(s_inv,MsRho,GRho,BrRhoEtaG, << 266 + sqrt(WidthPg(s_inv,MsOm,GOm,BrOmEtaG,MsE << 267 + sqrt(WidthPg(s_inv,MsPhi,GPhi,BrPhiEtaG, << 268 << 269 G4double cross = 12.0*pi*MeVnb*norm(amp)/(e* << 270 << 271 return cross; << 272 } << 273 << 274 //....oooOO0OOooo........oooOO0OOooo........oo << 275 << 276 G4double G4eeCrossSections::CrossSection2Kchar << 277 { << 278 G4double s_inv = e*e; << 279 complex<G4double> dphi = DpPhi(e); << 280 << 281 complex<G4double> amp = << 282 sqrt(Width2p(s_inv,MsPhi,GPhi,BrPhi2Kc,MsK << 283 << 284 G4double cross = 12.0*pi*MeVnb*norm(amp)/(e* << 285 << 286 return cross; << 287 } << 288 << 289 //....oooOO0OOooo........oooOO0OOooo........oo << 290 << 291 G4double G4eeCrossSections::CrossSection2Kneut << 292 { << 293 G4double s_inv = e*e; << 294 complex<G4double> dphi = DpPhi(e); << 295 << 296 complex<G4double> amp = << 297 sqrt(Width2p(s_inv,MsPhi,GPhi,BrPhiKsKl,Ms << 298 << 299 G4double cross = 12.0*pi*MeVnb*norm(amp)/(e* << 300 << 301 return cross; << 302 } << 303 << 304 //....oooOO0OOooo........oooOO0OOooo........oo << 305 << 306 G4double G4eeCrossSections::Width2p(G4double s << 307 G4double g << 308 { 217 { 309 G4double mp2 = 4.0*mp*mp; << 218 G4double m2 = 4.0*m*m; 310 G4double s0 = mres*mres; 219 G4double s0 = mres*mres; 311 G4double f = (s_inv - mp2)/(s0 - mp2); << 220 G4double f = (s - m2)/(s0 - m2); 312 if(f < 0.0) f = 0.0; 221 if(f < 0.0) f = 0.0; 313 return gconst*br*sqrt(f)*f*s0/s_inv; << 222 return g*br*sqrt(f)*f*s0/s; 314 } 223 } 315 224 316 //....oooOO0OOooo........oooOO0OOooo........oo 225 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 317 226 318 G4double G4eeCrossSections::Width3p(G4double s << 227 G4double G4eeCrossSections::Width3p(G4double s, G4double mres, 319 G4double g << 228 G4double g, G4double br) 320 { 229 { 321 G4double w = PhaseSpace3p(sqrt(s_inv)); << 230 G4double w = PhaseSpace3p(sqrt(s)); 322 G4double w0= PhaseSpace3p(mres); 231 G4double w0= PhaseSpace3p(mres); 323 G4double x = gconst*br*w/w0; << 232 G4double x = g*br*w/w0; 324 return x; 233 return x; 325 } 234 } 326 235 327 //....oooOO0OOooo........oooOO0OOooo........oo 236 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 328 237 329 G4double G4eeCrossSections::PhaseSpace3p(G4dou 238 G4double G4eeCrossSections::PhaseSpace3p(G4double e) 330 { 239 { 331 // E.A.Kuraev, Z.K.Silagadze. << 240 332 // Once more about the omega->3 pi contact << 333 // Yadernaya Phisica, 1995, V58, N9, p.1678 << 334 << 335 // G4bool b; 241 // G4bool b; 336 // G4double x = ph3p->GetValue(e, b); 242 // G4double x = ph3p->GetValue(e, b); 337 G4double x = 1.0; 243 G4double x = 1.0; 338 G4double emev = e/MeV; 244 G4double emev = e/MeV; 339 G4double y = 414.12/emev; 245 G4double y = 414.12/emev; 340 x *= pow(e/MsOm, 5.0) * pow(emev*0.1, 3.0)*( 246 x *= pow(e/MsOm, 5.0) * pow(emev*0.1, 3.0)*(1.0 - y*y); 341 return x; 247 return x; 342 } 248 } 343 249 344 //....oooOO0OOooo........oooOO0OOooo........oo 250 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 345 251 346 G4double G4eeCrossSections::WidthPg(G4double s << 252 G4double G4eeCrossSections::WidthPg(G4double s, G4double mres, 347 G4double g << 253 G4double g, G4double br, G4double m) 348 { 254 { 349 G4double mp2 = mp*mp; << 255 G4double m2 = m*m; 350 G4double s0 = mres*mres; 256 G4double s0 = mres*mres; 351 G4double f = (s_inv - mp2)*mres/((s0 - m << 257 G4double f = (s - m2)*mres/((s0 - m2)*sqrt(s)); 352 if(f < 0.0) f = 0.0; 258 if(f < 0.0) f = 0.0; 353 return gconst*br*f*f*f; << 259 return g*br*f*f*f; 354 } 260 } 355 261 356 //....oooOO0OOooo........oooOO0OOooo........oo 262 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 357 263 358 G4double G4eeCrossSections::WidthRho(G4double 264 G4double G4eeCrossSections::WidthRho(G4double e) 359 { 265 { 360 G4double w = Width2p(e*e, MsRho, GRho, 1.0, 266 G4double w = Width2p(e*e, MsRho, GRho, 1.0, MsPi); 361 return w; 267 return w; 362 } 268 } 363 269 364 //....oooOO0OOooo........oooOO0OOooo........oo 270 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 365 271 366 G4double G4eeCrossSections::WidthOm(G4double e 272 G4double G4eeCrossSections::WidthOm(G4double e) 367 { 273 { 368 G4double s_inv = e*e; << 274 G4double s = e*e; 369 G4double w = (Width3p(s_inv, MsOm, GOm, BrOm << 275 G4double w = (Width3p(s, MsOm, GOm, BrOm3Pi) + 370 WidthPg(s_inv, MsOm, GOm, BrOm << 276 WidthPg(s, MsOm, GOm, BrOmPi0G, MsPi0) + 371 WidthPg(s_inv, MsOm, GOm, BrOm << 277 WidthPg(s, MsOm, GOm, BrOmEtaG, MsEta) + 372 Width2p(s_inv, MsOm, GOm, BrOm << 278 Width2p(s, MsOm, GOm, BrOm2Pi, MsPi)) / 373 (BrOm3Pi+BrOmPi0G+BrOmEtaG+BrOm2Pi); 279 (BrOm3Pi+BrOmPi0G+BrOmEtaG+BrOm2Pi); 374 return w; 280 return w; 375 } 281 } 376 282 377 //....oooOO0OOooo........oooOO0OOooo........oo 283 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 378 284 379 G4double G4eeCrossSections::WidthPhi(G4double 285 G4double G4eeCrossSections::WidthPhi(G4double e) 380 { 286 { 381 G4double s_inv = e*e; << 287 G4double s = e*e; 382 G4double w = (Width3p(s_inv, MsPhi, GPhi, Br << 288 G4double w = (Width3p(s, MsPhi, GPhi, BrPhi3Pi) + 383 WidthPg(s_inv, MsPhi, GPhi, Br << 289 WidthPg(s, MsPhi, GPhi, BrPhiPi0G, MsPi0) + 384 WidthPg(s_inv, MsPhi, GPhi, Br << 290 WidthPg(s, MsPhi, GPhi, BrPhiEtaG, MsEta) + 385 Width2p(s_inv, MsPhi, GPhi, Br << 291 Width2p(s, MsPhi, GPhi, BrPhi2Kc, MsKc) + 386 Width2p(s_inv, MsPhi, GPhi, Br << 292 Width2p(s, MsPhi, GPhi, BrPhiKsKl, MsKs)) / 387 (BrPhi3Pi+BrPhiPi0G+BrPhiEtaG+BrPhi2Kc 293 (BrPhi3Pi+BrPhiPi0G+BrPhiEtaG+BrPhi2Kc+BrPhiKsKl); 388 return w; 294 return w; 389 } 295 } 390 296 391 //....oooOO0OOooo........oooOO0OOooo........oo 297 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 392 298 393 complex<G4double> G4eeCrossSections::DpRho(G4d 299 complex<G4double> G4eeCrossSections::DpRho(G4double e) 394 { 300 { 395 complex<G4double> d(MsRho*MsRho - e*e, -e*Wi 301 complex<G4double> d(MsRho*MsRho - e*e, -e*WidthRho(e)); 396 return d; 302 return d; 397 } 303 } 398 304 399 //....oooOO0OOooo........oooOO0OOooo........oo 305 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 400 306 401 complex<G4double> G4eeCrossSections::DpOm(G4do 307 complex<G4double> G4eeCrossSections::DpOm(G4double e) 402 { 308 { 403 complex<G4double> d(MsOm*MsOm - e*e, -e*Widt 309 complex<G4double> d(MsOm*MsOm - e*e, -e*WidthOm(e)); 404 return d; 310 return d; 405 } 311 } 406 312 407 //....oooOO0OOooo........oooOO0OOooo........oo 313 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 408 314 409 complex<G4double> G4eeCrossSections::DpPhi(G4d 315 complex<G4double> G4eeCrossSections::DpPhi(G4double e) 410 { 316 { 411 complex<G4double> d(MsPhi*MsPhi - e*e, -e*Wi 317 complex<G4double> d(MsPhi*MsPhi - e*e, -e*WidthPhi(e)); 412 return d; 318 return d; 413 } 319 } 414 320 415 //....oooOO0OOooo........oooOO0OOooo........oo 321 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 416 322