Geant4-11
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
G4CoulombBarrier Class Reference

#include <G4CoulombBarrier.hh>

Inheritance diagram for G4CoulombBarrier:
G4VCoulombBarrier G4AlphaCoulombBarrier G4DeuteronCoulombBarrier G4GEMCoulombBarrier G4He3CoulombBarrier G4NeutronCoulombBarrier G4ProtonCoulombBarrier G4TritonCoulombBarrier

Public Member Functions

virtual G4double BarrierPenetrationFactor (G4int Eexc) const
 
 G4CoulombBarrier (G4int anA, G4int aZ)
 
G4int GetA (void) const
 
G4double GetCoulombBarrier (G4int ARes, G4int ZRes, G4double U) const
 
G4double GetR0 (void) const
 
G4double GetRho (void) const
 
G4int GetZ (void) const
 
void SetParameters (G4double rho, G4double r0)
 
virtual ~G4CoulombBarrier ()
 

Protected Attributes

G4Powg4calc
 

Private Member Functions

 G4CoulombBarrier (const G4CoulombBarrier &right)
 
G4bool operator!= (const G4CoulombBarrier &right) const
 
const G4CoulombBarrieroperator= (const G4CoulombBarrier &right)
 
G4bool operator== (const G4CoulombBarrier &right) const
 

Private Attributes

G4double factor
 
G4int theA
 
G4double theR0
 
G4double theRho
 
G4int theZ
 

Detailed Description

Definition at line 41 of file G4CoulombBarrier.hh.

Constructor & Destructor Documentation

◆ G4CoulombBarrier() [1/2]

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

Definition at line 39 of file G4CoulombBarrier.cc.

41{
44}
const G4int Z[17]
const G4double A[17]
static G4double RadiusCB(G4int Z, G4int A)
static G4Pow * GetInstance()
Definition: G4Pow.cc:41
G4VCoulombBarrier(G4int anA, G4int aZ)
void SetParameters(G4double rho, G4double r0)
static constexpr double elm_coupling
static constexpr double fermi
Definition: SystemOfUnits.h:84

References A, CLHEP::elm_coupling, factor, CLHEP::fermi, G4NuclearRadii::RadiusCB(), G4VCoulombBarrier::SetParameters(), and Z.

◆ ~G4CoulombBarrier()

G4CoulombBarrier::~G4CoulombBarrier ( )
virtual

Definition at line 46 of file G4CoulombBarrier.cc.

47{}

◆ G4CoulombBarrier() [2/2]

G4CoulombBarrier::G4CoulombBarrier ( const G4CoulombBarrier right)
private

Member Function Documentation

◆ BarrierPenetrationFactor()

G4double G4CoulombBarrier::BarrierPenetrationFactor ( G4int  Eexc) const
virtual

Implements G4VCoulombBarrier.

Reimplemented in G4ProtonCoulombBarrier, G4AlphaCoulombBarrier, G4DeuteronCoulombBarrier, G4TritonCoulombBarrier, and G4He3CoulombBarrier.

Definition at line 57 of file G4CoulombBarrier.cc.

58{
59 G4double res = 1.0;
60 if(GetZ() == 1) {
61 res = (aZ >= 70) ? 0.80 :
62 (((0.2357e-5*aZ) - 0.42679e-3)*aZ + 0.27035e-1)*aZ + 0.19025;
63 res += 0.06*(GetA() - 1);
64
65 } else if(GetZ() == 2 && GetA() <= 4) {
66 res = (aZ >= 70) ? 0.98 :
67 (((0.23684e-5*aZ) - 0.42143e-3)*aZ + 0.25222e-1)*aZ + 0.46699;
68 res += 0.12*(4 - GetA());
69 }
70 return res;
71}
double G4double
Definition: G4Types.hh:83
G4int GetA(void) const
G4int GetZ(void) const

References G4VCoulombBarrier::GetA(), and G4VCoulombBarrier::GetZ().

◆ GetA()

G4int G4VCoulombBarrier::GetA ( void  ) const
inlineinherited

◆ GetCoulombBarrier()

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

Implements G4VCoulombBarrier.

Definition at line 49 of file G4CoulombBarrier.cc.

51{
52 return factor*ZRes/(G4NuclearRadii::RadiusCB(ZRes,ARes) + GetRho());
53 //return factor*ZRes/((G4NuclearRadii::RadiusCB(ZRes,ARes)
54 // + GetRho())*(1.0 + std::sqrt(U/(G4double)(2*ARes))));
55}
G4double GetRho(void) const

References factor, G4VCoulombBarrier::GetRho(), and G4NuclearRadii::RadiusCB().

Referenced by G4FermiFragment::GetCoulombBarrier(), and G4EvaporationChannel::GetEmissionProbability().

◆ GetR0()

G4double G4VCoulombBarrier::GetR0 ( void  ) const
inlineinherited

Definition at line 53 of file G4VCoulombBarrier.hh.

53{ return theR0; }

References G4VCoulombBarrier::theR0.

◆ GetRho()

G4double G4VCoulombBarrier::GetRho ( void  ) const
inlineinherited

Definition at line 52 of file G4VCoulombBarrier.hh.

52{ return theRho; }

References G4VCoulombBarrier::theRho.

Referenced by GetCoulombBarrier().

◆ GetZ()

G4int G4VCoulombBarrier::GetZ ( void  ) const
inlineinherited

Definition at line 51 of file G4VCoulombBarrier.hh.

51{ return theZ; }

References G4VCoulombBarrier::theZ.

Referenced by BarrierPenetrationFactor().

◆ operator!=()

G4bool G4CoulombBarrier::operator!= ( const G4CoulombBarrier right) const
private

◆ operator=()

const G4CoulombBarrier & G4CoulombBarrier::operator= ( const G4CoulombBarrier right)
private

◆ operator==()

G4bool G4CoulombBarrier::operator== ( const G4CoulombBarrier right) const
private

◆ SetParameters()

void G4VCoulombBarrier::SetParameters ( G4double  rho,
G4double  r0 
)
inherited

Definition at line 44 of file G4VCoulombBarrier.cc.

45{
46 theRho = rho;
47 theR0 = r0;
48}

References G4VCoulombBarrier::theR0, and G4VCoulombBarrier::theRho.

Referenced by G4CoulombBarrier().

Field Documentation

◆ factor

G4double G4CoulombBarrier::factor
private

Definition at line 66 of file G4CoulombBarrier.hh.

Referenced by G4CoulombBarrier(), and GetCoulombBarrier().

◆ g4calc

G4Pow* G4CoulombBarrier::g4calc
protected

◆ theA

G4int G4VCoulombBarrier::theA
privateinherited

◆ theR0

G4double G4VCoulombBarrier::theR0
privateinherited

◆ theRho

G4double G4VCoulombBarrier::theRho
privateinherited

◆ theZ

G4int G4VCoulombBarrier::theZ
privateinherited

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