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

#include <G4EMDissociationSpectrum.hh>

Public Member Functions

 G4EMDissociationSpectrum ()
 
 ~G4EMDissociationSpectrum ()
 
G4double GetGeneralE1Spectrum (G4double, G4double, G4double)
 
G4double GetGeneralE2Spectrum (G4double, G4double, G4double)
 
G4double GetClosestApproach (const G4double, const G4double, G4double, G4double, G4double)
 

Detailed Description

Definition at line 67 of file G4EMDissociationSpectrum.hh.

Constructor & Destructor Documentation

G4EMDissociationSpectrum::G4EMDissociationSpectrum ( )

Definition at line 67 of file G4EMDissociationSpectrum.cc.

68 {
69  bessel = new G4Bessel();
70 }
G4EMDissociationSpectrum::~G4EMDissociationSpectrum ( )

Definition at line 73 of file G4EMDissociationSpectrum.cc.

74 {
75  delete bessel;
76 }

Member Function Documentation

G4double G4EMDissociationSpectrum::GetClosestApproach ( const G4double  AP,
const G4double  ZP,
G4double  AT,
G4double  ZT,
G4double  b 
)

Definition at line 110 of file G4EMDissociationSpectrum.cc.

References python.hepunit::amu_c2, test::b, python.hepunit::elm_coupling, python.hepunit::fermi, and python.hepunit::halfpi.

111 {
112  G4double bsq = b * b;
113  G4double gg = 1.0/std::sqrt(1-bsq);
114  G4double AProot3 = std::pow(AP,1.0/3.0);
115  G4double ATroot3 = std::pow(AT,1.0/3.0);
116  G4double bc = 1.34 * fermi * (AProot3+ATroot3 - 0.75 *(1.0/AProot3+1.0/ATroot3));
117 // G4double a0 = ZP * ZT * classic_electr_radius/bsq;
118  G4double a0 = ZP * ZT * elm_coupling / (AT*AP*amu_c2/(AT+AP)) / bsq;
119  G4double bmin = 1.25 * bc + halfpi*a0/gg;
120  return bmin;
121 }
tuple elm_coupling
Definition: hepunit.py:286
double G4double
Definition: G4Types.hh:76
float amu_c2
Definition: hepunit.py:277
G4double G4EMDissociationSpectrum::GetGeneralE1Spectrum ( G4double  Eg,
G4double  b,
G4double  bmin 
)

Definition at line 80 of file G4EMDissociationSpectrum.cc.

References test::b, python.hepunit::fine_structure_const, python.hepunit::hbarc, n, and python.hepunit::pi.

Referenced by G4EMDissociationCrossSection::GetCrossSectionForProjectile().

81 {
82  G4double b2 = b*b;
83  G4double gg = 1.0/std::sqrt(1.0-b2);
84  G4double xi = Eg * bmin / gg / b / hbarc;
85  G4double K0 = bessel->K0(xi);
86  G4double K1 = bessel->K1(xi);
87  G4double n = 2.0 * fine_structure_const / pi / b2 / Eg *
88  (xi*K0*K1 - xi*xi*b2/2.0*(K1*K1-K0*K0));
89  return n;
90 }
G4double K1(G4double)
Definition: G4Bessel.cc:181
G4double K0(G4double)
Definition: G4Bessel.cc:109
const G4int n
double G4double
Definition: G4Types.hh:76
G4double G4EMDissociationSpectrum::GetGeneralE2Spectrum ( G4double  Eg,
G4double  b,
G4double  bmin 
)

Definition at line 94 of file G4EMDissociationSpectrum.cc.

References test::b, python.hepunit::fine_structure_const, python.hepunit::hbarc, n, and python.hepunit::pi.

Referenced by G4EMDissociationCrossSection::GetCrossSectionForProjectile().

95 {
96  G4double b2 = b * b;
97  G4double b4 = b2 * b2;
98  G4double gg = 1.0/std::sqrt(1.0-b2);
99  G4double xi = Eg * bmin / gg / b / hbarc;
100  G4double K0 = bessel->K0(xi);
101  G4double K1 = bessel->K1(xi);
102  G4double n = 2.0 * fine_structure_const / pi / b4 / Eg *
103  (2.0*(1.0-b2)*K1*K1 + xi*std::pow((2.0-b2),2.0)*K0*K1 -
104  xi*xi*b4/2.0*(K1*K1-K0*K0));
105  return n;
106 }
G4double K1(G4double)
Definition: G4Bessel.cc:181
G4double K0(G4double)
Definition: G4Bessel.cc:109
const G4int n
double G4double
Definition: G4Types.hh:76

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