80 void G4eeCrossSections::Initialise()
124 MsRho3 = MsRho*MsRho*MsRho;
125 MsOm3 = MsOm*MsOm*MsOm;
126 MsPhi3 = MsPhi*MsPhi*MsPhi;
138 msrho1450 = 1459.*
MeV;
139 msrho1700 = 1688.8*
MeV;
154 brrho1450ompi0 = 0.02;
155 brrho1450pipi = 0.50;
156 brrho1700ompi0 = 1.0;
157 brrho1700pipi = 0.02;
195 complex<G4double> xr(cos(PhRho),sin(PhRho));
196 complex<G4double> xo(cos(PhOm2Pi),sin(PhOm2Pi));
197 complex<G4double> xf(cos(PhPhi2Pi),sin(PhPhi2Pi));
200 complex<G4double> drho = DpRho(e);
201 complex<G4double> dom = DpOm(e);
202 complex<G4double> dphi = DpPhi(e);
204 complex<G4double> amp =
205 sqrt(Width2p(s_inv,MsRho,GRho,1.0,MsPi)*MsRho3*BrRhoEe*GRho)*xr/drho
206 + sqrt(Width2p(s_inv,MsOm,GOm,BrOm2Pi,MsPi)*MsOm3*BrOmEe*GOm)*xo/dom
207 + sqrt(Width2p(s_inv,MsPhi,GPhi,BrPhi2Pi,MsPi)*MsPhi3*BrPhiEe*GPhi)*xf/dphi;
209 G4double cross = 12.0*
pi*MeVnb*norm(amp)/(e*s_inv);
218 complex<G4double> xf(cos(PhPhi2Pi),sin(PhPhi));
221 complex<G4double> dom = DpOm(e);
222 complex<G4double> dphi = DpPhi(e);
224 complex<G4double> amp =
225 sqrt(Width3p(s_inv,MsOm,GOm,BrOm3Pi)*MsOm3*BrOmEe*GOm)/dom
226 + sqrt(Width3p(s_inv,MsPhi,GPhi,BrPhi3Pi)*MsPhi3*BrPhiEe*GPhi)*xf/dphi;
228 G4double cross = 12.0*
pi*MeVnb*norm(amp)/(e*s_inv);
237 complex<G4double> xf(cos(PhPhi),sin(PhPhi));
240 complex<G4double> drho = DpRho(e);
241 complex<G4double> dom = DpOm(e);
242 complex<G4double> dphi = DpPhi(e);
244 complex<G4double> amp =
245 sqrt(WidthPg(s_inv,MsRho,GRho,BrRhoPi0G,MsPi0)*MsRho3*BrRhoEe*GRho)/drho
246 + sqrt(WidthPg(s_inv,MsOm,GOm,BrOmPi0G,MsPi0)*MsOm3*BrOmEe*GOm)/dom
247 + sqrt(WidthPg(s_inv,MsPhi,GPhi,BrPhiPi0G,MsPi0)*MsPhi3*BrPhiEe*GPhi)*xf/dphi;
249 G4double cross = 12.0*
pi*MeVnb*norm(amp)/(e*s_inv);
258 complex<G4double> xf(cos(PhPhi),sin(PhPhi));
261 complex<G4double> drho = DpRho(e);
262 complex<G4double> dom = DpOm(e);
263 complex<G4double> dphi = DpPhi(e);
265 complex<G4double> amp =
266 sqrt(WidthPg(s_inv,MsRho,GRho,BrRhoEtaG,MsEta)*MsRho3*BrRhoEe*GRho)/drho
267 + sqrt(WidthPg(s_inv,MsOm,GOm,BrOmEtaG,MsEta)*MsOm3*BrOmEe*GOm)/dom
268 + sqrt(WidthPg(s_inv,MsPhi,GPhi,BrPhiEtaG,MsEta)*MsPhi3*BrPhiEe*GPhi)*xf/dphi;
270 G4double cross = 12.0*
pi*MeVnb*norm(amp)/(e*s_inv);
280 complex<G4double> dphi = DpPhi(e);
282 complex<G4double> amp =
283 sqrt(Width2p(s_inv,MsPhi,GPhi,BrPhi2Kc,MsKc)*MsPhi3*BrPhiEe*GPhi)/dphi;
285 G4double cross = 12.0*
pi*MeVnb*norm(amp)/(e*s_inv);
295 complex<G4double> dphi = DpPhi(e);
297 complex<G4double> amp =
298 sqrt(Width2p(s_inv,MsPhi,GPhi,BrPhiKsKl,MsKs)*MsPhi3*BrPhiEe*GPhi)/dphi;
300 G4double cross = 12.0*
pi*MeVnb*norm(amp)/(e*s_inv);
312 G4double f = (s_inv - mp2)/(s0 - mp2);
314 return gconst*br*sqrt(f)*f*s0/s_inv;
322 G4double w = PhaseSpace3p(sqrt(s_inv));
341 x *= pow(e/MsOm, 5.0) * pow(emev*0.1, 3.0)*(1.0 - y*y);
352 G4double f = (s_inv - mp2)*mres/((s0 - mp2)*sqrt(s_inv));
354 return gconst*br*f*f*f;
361 G4double w = Width2p(e*e, MsRho, GRho, 1.0, MsPi);
370 G4double w = (Width3p(s_inv, MsOm, GOm, BrOm3Pi) +
371 WidthPg(s_inv, MsOm, GOm, BrOmPi0G, MsPi0) +
372 WidthPg(s_inv, MsOm, GOm, BrOmEtaG, MsEta) +
373 Width2p(s_inv, MsOm, GOm, BrOm2Pi, MsPi)) /
374 (BrOm3Pi+BrOmPi0G+BrOmEtaG+BrOm2Pi);
383 G4double w = (Width3p(s_inv, MsPhi, GPhi, BrPhi3Pi) +
384 WidthPg(s_inv, MsPhi, GPhi, BrPhiPi0G, MsPi0) +
385 WidthPg(s_inv, MsPhi, GPhi, BrPhiEtaG, MsEta) +
386 Width2p(s_inv, MsPhi, GPhi, BrPhi2Kc, MsKc) +
387 Width2p(s_inv, MsPhi, GPhi, BrPhiKsKl, MsKs)) /
388 (BrPhi3Pi+BrPhiPi0G+BrPhiEtaG+BrPhi2Kc+BrPhiKsKl);
396 complex<G4double> d(MsRho*MsRho - e*e, -e*WidthRho(e));
402 complex<G4double> G4eeCrossSections::DpOm(
G4double e)
404 complex<G4double> d(MsOm*MsOm - e*e, -e*WidthOm(e));
410 complex<G4double> G4eeCrossSections::DpPhi(
G4double e)
412 complex<G4double> d(MsPhi*MsPhi - e*e, -e*WidthPhi(e));
virtual ~G4eeCrossSections()
static G4KaonZeroLong * KaonZeroLong()
G4double CrossSection3pi(G4double)
G4double CrossSection2pi(G4double)
G4double CrossSectionEtaG(G4double)
std::complex< G4double > DpRho(G4double e)
G4double CrossSectionPi0G(G4double)
static constexpr double nanobarn
static constexpr double degree
static G4PionPlus * PionPlus()
static G4PionZero * PionZero()
G4double GetPDGMass() const
static constexpr double MeV
static constexpr double pi
G4double CrossSection2Kneutral(G4double)
static G4KaonPlus * KaonPlus()
G4double CrossSection2Kcharged(G4double)