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

#include <G4GEMCoulombBarrier.hh>

Inheritance diagram for G4GEMCoulombBarrier:
G4CoulombBarrier G4VCoulombBarrier

Public Member Functions

virtual G4double BarrierPenetrationFactor (G4int Eexc) const
 
 G4GEMCoulombBarrier (G4int anA, G4int aZ)
 
G4int GetA (void) const
 
virtual 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 ~G4GEMCoulombBarrier ()
 

Protected Attributes

G4Powg4calc
 

Private Member Functions

G4double CalcCompoundRadius (G4int ARes) const
 
 G4GEMCoulombBarrier (const G4GEMCoulombBarrier &right)=delete
 
G4bool operator!= (const G4GEMCoulombBarrier &right) const =delete
 
const G4GEMCoulombBarrieroperator= (const G4GEMCoulombBarrier &right)=delete
 
G4bool operator== (const G4GEMCoulombBarrier &right) const =delete
 

Private Attributes

G4double AejectOneThird
 
G4double factor
 
G4int theA
 
G4double theR0
 
G4double theRho
 
G4int theZ
 

Detailed Description

Definition at line 37 of file G4GEMCoulombBarrier.hh.

Constructor & Destructor Documentation

◆ G4GEMCoulombBarrier() [1/2]

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

Definition at line 36 of file G4GEMCoulombBarrier.cc.

36 :
37 G4CoulombBarrier(anA,aZ)
38{
40}
G4CoulombBarrier(G4int anA, G4int aZ)
G4double Z13(G4int Z) const
Definition: G4Pow.hh:123

References AejectOneThird, G4CoulombBarrier::g4calc, and G4Pow::Z13().

◆ ~G4GEMCoulombBarrier()

G4GEMCoulombBarrier::~G4GEMCoulombBarrier ( )
virtual

Definition at line 42 of file G4GEMCoulombBarrier.cc.

43{}

◆ G4GEMCoulombBarrier() [2/2]

G4GEMCoulombBarrier::G4GEMCoulombBarrier ( const G4GEMCoulombBarrier right)
privatedelete

Member Function Documentation

◆ BarrierPenetrationFactor()

G4double G4CoulombBarrier::BarrierPenetrationFactor ( G4int  Eexc) const
virtualinherited

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().

◆ CalcCompoundRadius()

G4double G4GEMCoulombBarrier::CalcCompoundRadius ( G4int  ARes) const
private

Definition at line 65 of file G4GEMCoulombBarrier.cc.

66{
67 G4double AresOneThird = g4calc->Z13(ARes);
68 G4int A = GetA();
69
70 G4double Result = 0.0;
71 if(A == 1){
72 Result = 1.7* AresOneThird;
73
74 } else if (A <= 4){
75 Result = 1.7* AresOneThird + 1.2;
76
77 } else {
78 Result = 1.12*(AresOneThird + AejectOneThird) -
79 0.86*(AresOneThird+AejectOneThird)/(AresOneThird*AejectOneThird)+3.75;
80 }
81 return Result*fermi;
82}
static constexpr double fermi
Definition: G4SIunits.hh:83
int G4int
Definition: G4Types.hh:85
const G4double A[17]

References A, AejectOneThird, fermi, G4CoulombBarrier::g4calc, G4VCoulombBarrier::GetA(), and G4Pow::Z13().

◆ GetA()

G4int G4VCoulombBarrier::GetA ( void  ) const
inlineinherited

◆ GetCoulombBarrier()

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

Implements G4VCoulombBarrier.

Definition at line 45 of file G4GEMCoulombBarrier.cc.

48{
49 G4double Barrier = 0.0;
50 if (GetZ() > 0 && ZRes > 0) {
51
52 G4double CompoundRadius = CalcCompoundRadius(ARes);
53 Barrier = CLHEP::elm_coupling * (GetZ() * ZRes)/CompoundRadius;
54
55 // Barrier penetration coeficient
56 if(GetA() <= 4) { Barrier *= BarrierPenetrationFactor(ZRes); }
57
58 //JMQ 200709 effective decrease of barrier with E* (Barashenkov)
59 // (not inclued in original Furihata's formulation)
60 Barrier /= (1.0 + std::sqrt(U/(static_cast<G4double>(2*ARes))));
61 }
62 return Barrier;
63}
virtual G4double BarrierPenetrationFactor(G4int Eexc) const
G4double CalcCompoundRadius(G4int ARes) const
static constexpr double elm_coupling

References CLHEP::elm_coupling.

◆ 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 G4CoulombBarrier::GetCoulombBarrier().

◆ GetZ()

G4int G4VCoulombBarrier::GetZ ( void  ) const
inlineinherited

Definition at line 51 of file G4VCoulombBarrier.hh.

51{ return theZ; }

References G4VCoulombBarrier::theZ.

Referenced by G4CoulombBarrier::BarrierPenetrationFactor().

◆ operator!=()

G4bool G4GEMCoulombBarrier::operator!= ( const G4GEMCoulombBarrier right) const
privatedelete

◆ operator=()

const G4GEMCoulombBarrier & G4GEMCoulombBarrier::operator= ( const G4GEMCoulombBarrier right)
privatedelete

◆ operator==()

G4bool G4GEMCoulombBarrier::operator== ( const G4GEMCoulombBarrier right) const
privatedelete

◆ 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::G4CoulombBarrier().

Field Documentation

◆ AejectOneThird

G4double G4GEMCoulombBarrier::AejectOneThird
private

Definition at line 55 of file G4GEMCoulombBarrier.hh.

Referenced by CalcCompoundRadius(), and G4GEMCoulombBarrier().

◆ factor

G4double G4CoulombBarrier::factor
privateinherited

◆ g4calc

G4Pow* G4CoulombBarrier::g4calc
protectedinherited

Definition at line 62 of file G4CoulombBarrier.hh.

Referenced by CalcCompoundRadius(), and G4GEMCoulombBarrier().

◆ 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: