#include <G4GEMCoulombBarrierHE.hh>
Inheritance diagram for G4GEMCoulombBarrierHE:
Public Member Functions | |
G4GEMCoulombBarrierHE (G4int anA, G4int aZ) | |
~G4GEMCoulombBarrierHE () | |
G4double | GetCoulombBarrier (G4int ARes, G4int ZRes, G4double U) const |
virtual G4double | BarrierPenetrationFactor (G4double) const |
G4double | CalcCompoundRadius (G4int ARes) const |
Definition at line 39 of file G4GEMCoulombBarrierHE.hh.
Definition at line 37 of file G4GEMCoulombBarrierHE.cc.
References G4GEMCoulombBarrierHE().
Referenced by G4GEMCoulombBarrierHE().
00037 : 00038 G4VCoulombBarrier(anA,aZ) 00039 {}
G4GEMCoulombBarrierHE::~G4GEMCoulombBarrierHE | ( | ) |
Definition at line 71 of file G4GEMCoulombBarrierHE.cc.
References G4VCoulombBarrier::GetA(), G4Pow::GetInstance(), and G4Pow::Z13().
00072 { 00073 G4Pow* g4pow = G4Pow::GetInstance(); 00074 G4double AresOneThird = g4pow->Z13(ARes); 00075 G4double AejectOneThird = g4pow->Z13(GetA()); 00076 00077 G4double Result = 1.12*(AresOneThird + AejectOneThird) - 00078 0.86*(AresOneThird+AejectOneThird)/(AresOneThird*AejectOneThird); 00079 00080 return Result*fermi; 00081 }
G4double G4GEMCoulombBarrierHE::GetCoulombBarrier | ( | G4int | ARes, | |
G4int | ZRes, | |||
G4double | U | |||
) | const [virtual] |
Implements G4VCoulombBarrier.
Definition at line 44 of file G4GEMCoulombBarrierHE.cc.
References G4cout, and G4endl.
00046 { 00047 G4double Barrier = 0.0; 00048 if (ZRes > ARes || ARes < 1) { 00049 G4cout << "G4GEMCoulombBarrierHE::GetCoulombBarrier: " 00050 << "Wrong values for " 00051 << "residual nucleus A = " << ARes << " " 00052 << "and residual nucleus Z = " << ZRes << G4endl; 00053 throw G4HadronicException(__FILE__, __LINE__,"FATAL error"); 00054 } 00055 if (GetZ() == 0) { 00056 Barrier = 0.0; // If there is no charge there is neither barrier 00057 } else { 00058 G4double CompoundRadius = CalcCompoundRadius(ARes); 00059 Barrier = ( elm_coupling * GetZ() * ZRes)/(CompoundRadius+3.75*fermi); 00060 00061 // Barrier penetration coeficient 00062 // G4double K = BarrierPenetrationFactor(ZRes); 00063 // Barrier *= K; 00064 00065 Barrier /= (1.0 + std::sqrt(U/static_cast<G4double>(2*ARes))); 00066 } 00067 return Barrier; 00068 }