Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4CoulombBarrier Class Reference

#include <G4CoulombBarrier.hh>

Inheritance diagram for G4CoulombBarrier:
Collaboration diagram for G4CoulombBarrier:

Public Member Functions

 G4CoulombBarrier (G4int anA, G4int aZ)
 
virtual ~G4CoulombBarrier ()
 
G4double GetCoulombBarrier (G4int ARes, G4int ZRes, G4double U) const
 
virtual G4double BarrierPenetrationFactor (G4int Eexc) const
 
- Public Member Functions inherited from G4VCoulombBarrier
 G4VCoulombBarrier (G4int anA, G4int aZ)
 
virtual ~G4VCoulombBarrier ()
 
void SetParameters (G4double rho, G4double r0)
 
G4int GetA (void) const
 
G4int GetZ (void) const
 
G4double GetRho (void) const
 
G4double GetR0 (void) const
 

Protected Attributes

G4Powg4calc
 

Detailed Description

Definition at line 43 of file G4CoulombBarrier.hh.

Constructor & Destructor Documentation

G4CoulombBarrier::G4CoulombBarrier ( G4int  anA,
G4int  aZ 
)
explicit

Definition at line 39 of file G4CoulombBarrier.cc.

40  : G4VCoulombBarrier(A, Z)
41 {
43  if(Z > 0) {
44  G4double rho = 1.2*CLHEP::fermi;
45  G4double r0 = 1.5*CLHEP::fermi;
46  if(1 == A) {
47  rho = 0.0;
48  } else if(A <= 3) {
49  rho = 0.8*CLHEP::fermi;
50  r0 = 1.7*CLHEP::fermi;
51  } else {
52  r0 = 1.7*CLHEP::fermi;
53  }
54  SetParameters(rho, r0);
55  }
56 }
static G4Pow * GetInstance()
Definition: G4Pow.cc:55
G4VCoulombBarrier(G4int anA, G4int aZ)
double A(double temperature)
void SetParameters(G4double rho, G4double r0)
static constexpr double fermi
Definition: SystemOfUnits.h:83
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

G4CoulombBarrier::~G4CoulombBarrier ( )
virtual

Definition at line 58 of file G4CoulombBarrier.cc.

59 {}

Member Function Documentation

G4double G4CoulombBarrier::BarrierPenetrationFactor ( G4int  Eexc) const
virtual

Implements G4VCoulombBarrier.

Definition at line 66 of file G4CoulombBarrier.cc.

67 {
68  G4double res = 1.0;
69  if(GetZ() == 1) {
70  res = (aZ >= 70) ? 0.80 :
71  (((0.2357e-5*aZ) - 0.42679e-3)*aZ + 0.27035e-1)*aZ + 0.19025;
72  res += 0.06*(GetA() - 1);
73 
74  } else if(GetZ() == 2 && GetA() <= 4) {
75  res = (aZ >= 70) ? 0.98 :
76  (((0.23684e-5*aZ) - 0.42143e-3)*aZ + 0.25222e-1)*aZ + 0.46699;
77  res += 0.12*(4 - GetA());
78  }
79  return res;
80 }
G4int GetA(void) const
G4int GetZ(void) const
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4CoulombBarrier::GetCoulombBarrier ( G4int  ARes,
G4int  ZRes,
G4double  U 
) const
virtual

Implements G4VCoulombBarrier.

Definition at line 61 of file G4CoulombBarrier.cc.

62 {
63  return CLHEP::elm_coupling*(GetZ()*ZRes)/(GetR0()*g4calc->Z13(ARes) + GetRho());
64 }
G4double GetR0(void) const
G4double Z13(G4int Z) const
Definition: G4Pow.hh:127
G4double GetRho(void) const
G4int GetZ(void) const
static constexpr double elm_coupling

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

G4Pow* G4CoulombBarrier::g4calc
protected

Definition at line 64 of file G4CoulombBarrier.hh.


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