Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4eeCrossSections Class Reference

#include <G4eeCrossSections.hh>

Public Member Functions

 G4eeCrossSections ()
 
virtual ~G4eeCrossSections ()
 
G4double CrossSection2pi (G4double)
 
G4double CrossSection3pi (G4double)
 
G4double CrossSectionPi0G (G4double)
 
G4double CrossSectionEtaG (G4double)
 
G4double CrossSection2Kcharged (G4double)
 
G4double CrossSection2Kneutral (G4double)
 
std::complex< G4doubleDpRho (G4double e)
 

Detailed Description

Definition at line 58 of file G4eeCrossSections.hh.

Constructor & Destructor Documentation

G4eeCrossSections::G4eeCrossSections ( )

Definition at line 68 of file G4eeCrossSections.cc.

69 {
70  Initialise();
71 }
G4eeCrossSections::~G4eeCrossSections ( )
virtual

Definition at line 75 of file G4eeCrossSections.cc.

76 {}

Member Function Documentation

G4double G4eeCrossSections::CrossSection2Kcharged ( G4double  e)

Definition at line 277 of file G4eeCrossSections.cc.

References python.hepunit::pi.

Referenced by G4ee2KChargedModel::ComputeCrossSection().

278 {
279  G4double s_inv = e*e;
280  complex<G4double> dphi = DpPhi(e);
281 
282  complex<G4double> amp =
283  sqrt(Width2p(s_inv,MsPhi,GPhi,BrPhi2Kc,MsKc)*MsPhi3*BrPhiEe*GPhi)/dphi;
284 
285  G4double cross = 12.0*pi*MeVnb*norm(amp)/(e*s_inv);
286 
287  return cross;
288 }
double G4double
Definition: G4Types.hh:76
G4double G4eeCrossSections::CrossSection2Kneutral ( G4double  e)

Definition at line 292 of file G4eeCrossSections.cc.

References python.hepunit::pi.

Referenced by G4ee2KNeutralModel::ComputeCrossSection().

293 {
294  G4double s_inv = e*e;
295  complex<G4double> dphi = DpPhi(e);
296 
297  complex<G4double> amp =
298  sqrt(Width2p(s_inv,MsPhi,GPhi,BrPhiKsKl,MsKs)*MsPhi3*BrPhiEe*GPhi)/dphi;
299 
300  G4double cross = 12.0*pi*MeVnb*norm(amp)/(e*s_inv);
301 
302  return cross;
303 }
double G4double
Definition: G4Types.hh:76
G4double G4eeCrossSections::CrossSection2pi ( G4double  e)

Definition at line 193 of file G4eeCrossSections.cc.

References python.hepunit::pi.

Referenced by G4eeToTwoPiModel::ComputeCrossSection().

194 {
195  complex<G4double> xr(cos(PhRho),sin(PhRho));
196  complex<G4double> xo(cos(PhOm2Pi),sin(PhOm2Pi));
197  complex<G4double> xf(cos(PhPhi2Pi),sin(PhPhi2Pi));
198 
199  G4double s_inv = e*e;
200  complex<G4double> drho = DpRho(e);
201  complex<G4double> dom = DpOm(e);
202  complex<G4double> dphi = DpPhi(e);
203 
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;
208 
209  G4double cross = 12.0*pi*MeVnb*norm(amp)/(e*s_inv);
210 
211  return cross;
212 }
std::complex< G4double > DpRho(G4double e)
double G4double
Definition: G4Types.hh:76
G4double G4eeCrossSections::CrossSection3pi ( G4double  e)

Definition at line 216 of file G4eeCrossSections.cc.

References python.hepunit::pi.

Referenced by G4eeTo3PiModel::ComputeCrossSection().

217 {
218  complex<G4double> xf(cos(PhPhi2Pi),sin(PhPhi));
219 
220  G4double s_inv = e*e;
221  complex<G4double> dom = DpOm(e);
222  complex<G4double> dphi = DpPhi(e);
223 
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;
227 
228  G4double cross = 12.0*pi*MeVnb*norm(amp)/(e*s_inv);
229 
230  return cross;
231 }
double G4double
Definition: G4Types.hh:76
G4double G4eeCrossSections::CrossSectionEtaG ( G4double  e)

Definition at line 256 of file G4eeCrossSections.cc.

References python.hepunit::pi.

Referenced by G4eeToPGammaModel::ComputeCrossSection().

257 {
258  complex<G4double> xf(cos(PhPhi),sin(PhPhi));
259 
260  G4double s_inv = e*e;
261  complex<G4double> drho = DpRho(e);
262  complex<G4double> dom = DpOm(e);
263  complex<G4double> dphi = DpPhi(e);
264 
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;
269 
270  G4double cross = 12.0*pi*MeVnb*norm(amp)/(e*s_inv);
271 
272  return cross;
273 }
std::complex< G4double > DpRho(G4double e)
double G4double
Definition: G4Types.hh:76
G4double G4eeCrossSections::CrossSectionPi0G ( G4double  e)

Definition at line 235 of file G4eeCrossSections.cc.

References python.hepunit::pi.

Referenced by G4eeToPGammaModel::ComputeCrossSection().

236 {
237  complex<G4double> xf(cos(PhPhi),sin(PhPhi));
238 
239  G4double s_inv = e*e;
240  complex<G4double> drho = DpRho(e);
241  complex<G4double> dom = DpOm(e);
242  complex<G4double> dphi = DpPhi(e);
243 
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;
248 
249  G4double cross = 12.0*pi*MeVnb*norm(amp)/(e*s_inv);
250 
251  return cross;
252 }
std::complex< G4double > DpRho(G4double e)
double G4double
Definition: G4Types.hh:76
complex< G4double > G4eeCrossSections::DpRho ( G4double  e)

Definition at line 394 of file G4eeCrossSections.cc.

Referenced by G4eeTo3PiModel::SampleSecondaries().

395 {
396  complex<G4double> d(MsRho*MsRho - e*e, -e*WidthRho(e));
397  return d;
398 }

The documentation for this class was generated from the following files: