Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
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::G4EMDissociationSpectrum ( )

Definition at line 69 of file G4EMDissociationSpectrum.cc.

70{
71 bessel = new G4Bessel();
72}

◆ ~G4EMDissociationSpectrum()

G4EMDissociationSpectrum::~G4EMDissociationSpectrum ( )

Definition at line 75 of file G4EMDissociationSpectrum.cc.

76{
77 delete bessel;
78}

Member Function Documentation

◆ GetClosestApproach()

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

Definition at line 111 of file G4EMDissociationSpectrum.cc.

113{
114 G4double bsq = b * b;
115 G4double gg = 1.0/std::sqrt(1-bsq);
116 G4double AProot3 = G4Pow::GetInstance()->powA(AP,1.0/3.0);
117 G4double ATroot3 = G4Pow::GetInstance()->powA(AT,1.0/3.0);
118 G4double bc = 1.34 * fermi * (AProot3+ATroot3 - 0.75 *(1.0/AProot3+1.0/ATroot3));
119// G4double a0 = ZP * ZT * classic_electr_radius/bsq;
120 G4double a0 = ZP * ZT * elm_coupling / (AT*AP*amu_c2/(AT+AP)) / bsq;
121 G4double bmin = 1.25 * bc + halfpi*a0/gg;
122 return bmin;
123}
const G4double a0
double G4double
Definition: G4Types.hh:83
static G4Pow * GetInstance()
Definition: G4Pow.cc:41
G4double powA(G4double A, G4double y) const
Definition: G4Pow.hh:230

Referenced by G4EMDissociation::ApplyYourself(), and G4EMDissociationCrossSection::GetElementCrossSection().

◆ GetGeneralE1Spectrum()

G4double G4EMDissociationSpectrum::GetGeneralE1Spectrum ( G4double  Eg,
G4double  b,
G4double  bmin 
)

Definition at line 81 of file G4EMDissociationSpectrum.cc.

83{
84 G4double b2 = b*b;
85 G4double gg = 1.0/std::sqrt(1.0-b2);
86 G4double xi = Eg * bmin / gg / b / hbarc;
87 G4double K0 = bessel->K0(xi);
88 G4double K1 = bessel->K1(xi);
89 G4double n = 2.0 * fine_structure_const / pi / b2 / Eg *
90 (xi*K0*K1 - xi*xi*b2/2.0*(K1*K1-K0*K0));
91 return n;
92}
G4double K0(G4double)
Definition: G4Bessel.cc:116
G4double K1(G4double)
Definition: G4Bessel.cc:188
const G4double pi

Referenced by G4EMDissociationCrossSection::GetCrossSectionForProjectile().

◆ GetGeneralE2Spectrum()

G4double G4EMDissociationSpectrum::GetGeneralE2Spectrum ( G4double  Eg,
G4double  b,
G4double  bmin 
)

Definition at line 95 of file G4EMDissociationSpectrum.cc.

97{
98 G4double b2 = b * b;
99 G4double b4 = b2 * b2;
100 G4double gg = 1.0/std::sqrt(1.0-b2);
101 G4double xi = Eg * bmin / gg / b / hbarc;
102 G4double K0 = bessel->K0(xi);
103 G4double K1 = bessel->K1(xi);
104 G4double n = 2.0 * fine_structure_const / pi / b4 / Eg *
105 (2.0*(1.0-b2)*K1*K1 + xi*G4Pow::GetInstance()->powA((2.0-b2),2.0)*K0*K1 -
106 xi*xi*b4/2.0*(K1*K1-K0*K0));
107 return n;
108}

Referenced by G4EMDissociationCrossSection::GetCrossSectionForProjectile().


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