Geant4 9.6.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 67 of file G4EMDissociationSpectrum.cc.

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

◆ ~G4EMDissociationSpectrum()

G4EMDissociationSpectrum::~G4EMDissociationSpectrum ( )

Definition at line 73 of file G4EMDissociationSpectrum.cc.

74{
75 delete bessel;
76}

Member Function Documentation

◆ GetClosestApproach()

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

Definition at line 109 of file G4EMDissociationSpectrum.cc.

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}
double G4double
Definition: G4Types.hh:64

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

◆ GetGeneralE1Spectrum()

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

Definition at line 79 of file G4EMDissociationSpectrum.cc.

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 K0(G4double)
Definition: G4Bessel.cc:109
G4double K1(G4double)
Definition: G4Bessel.cc:181
const G4double pi

Referenced by G4EMDissociationCrossSection::GetCrossSectionForProjectile().

◆ GetGeneralE2Spectrum()

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

Definition at line 93 of file G4EMDissociationSpectrum.cc.

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}

Referenced by G4EMDissociationCrossSection::GetCrossSectionForProjectile().


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