Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4FermiBreakUpUtil Namespace Reference

Functions

G4double CoulombBarrier (const G4int Z1, const G4int A1, const G4int Z2, const G4int A2, const G4double exc)
 
G4double Probability (const G4int A, const G4FermiFragment *f1, const G4FermiFragment *f2, const G4double mass, const G4double exc)
 
G4bool CheckSpinParity (const G4FermiFragment *f1, const G4FermiFragment *f2, const G4FermiFragment *f3)
 

Variables

const G4double deltaR = 0.6*CLHEP::fermi
 
const G4double coeff = 0.9
 

Function Documentation

◆ CheckSpinParity()

G4bool G4FermiBreakUpUtil::CheckSpinParity ( const G4FermiFragment * f1,
const G4FermiFragment * f2,
const G4FermiFragment * f3 )

Definition at line 82 of file G4FermiBreakUpUtil.cc.

84 {
85 // check parity
86 G4int spin1 = f1->TwoSpinParity();
87 G4int spin2 = f2->TwoSpinParity();
88 G4int spin3 = f3->TwoSpinParity();
89 if ((spin3 > 0 && spin1*spin2 < 0) || (spin3 < 0 && spin1*spin2 > 0))
90 return false;
91
92 return true;
93 }
int G4int
Definition G4Types.hh:85
G4int TwoSpinParity() const

Referenced by G4FermiFragmentsPoolVI::Initialise().

◆ CoulombBarrier()

G4double G4FermiBreakUpUtil::CoulombBarrier ( const G4int Z1,
const G4int A1,
const G4int Z2,
const G4int A2,
const G4double exc )

Definition at line 42 of file G4FermiBreakUpUtil.cc.

43 {
44 const G4double r1 = G4NuclearRadii::RadiusCB(Z1, A1);
45 const G4double r2 = G4NuclearRadii::RadiusCB(Z2, A2);
46 G4double CB = coeff*CLHEP::elm_coupling*(Z1*Z2)/(r1 + r2 - deltaR);
47 if(exc > 0.0) { CB /= (1.0 + std::sqrt(exc/((2*(A1 + A2))*CLHEP::MeV))); }
48 return CB;
49 }
double G4double
Definition G4Types.hh:83
static G4double RadiusCB(G4int Z, G4int A)

Referenced by G4FermiPair::GetMinMass(), G4FermiFragmentsPoolVI::Initialise(), and Probability().

◆ Probability()

G4double G4FermiBreakUpUtil::Probability ( const G4int A,
const G4FermiFragment * f1,
const G4FermiFragment * f2,
const G4double mass,
const G4double exc )

Definition at line 52 of file G4FermiBreakUpUtil.cc.

54 {
55 G4double prob = 0.0;
56 const G4double mass1 = f1->GetTotalEnergy();
57 const G4double mass2 = f2->GetTotalEnergy();
58 const G4double bCouloumb =
59 CoulombBarrier(f1->GetZ(), f1->GetA(), f2->GetZ(), f2->GetA(), exc);
60 if (mass < mass1 + mass2 + bCouloumb)
61 return prob;
62
63 // free energy
64 const G4double e = mass - mass1 - mass2;
65
66 // Spin factor S_n
67 const G4int S_n = (std::abs(f1->TwoSpinParity())+1)
68 *(std::abs(f2->TwoSpinParity())+1);
69
70 // mass factors
71 const G4double x = mass1*mass2/(mass1 + mass2);
72 G4double massFactor = x*std::sqrt(x);
73
74 // Permutation Factor G_n - search for identical fragments
75 G4double G_n = (f1 == f2) ? 0.5 : 1.0;
76
77 prob = (A*S_n) * massFactor*G_n*std::sqrt(e);
78 //G4cout << "prob= " << prob << " Coeff= " << Coeff << G4endl;
79 return prob;
80 }
const G4double A[17]
G4int GetA() const
G4int GetZ() const
G4double GetTotalEnergy(void) const
G4double CoulombBarrier(const G4int Z1, const G4int A1, const G4int Z2, const G4int A2, const G4double exc)

Referenced by G4FermiFragmentsPoolVI::Initialise().

Variable Documentation

◆ coeff

const G4double G4FermiBreakUpUtil::coeff = 0.9

Definition at line 39 of file G4FermiBreakUpUtil.cc.

Referenced by CoulombBarrier().

◆ deltaR

const G4double G4FermiBreakUpUtil::deltaR = 0.6*CLHEP::fermi

Definition at line 38 of file G4FermiBreakUpUtil.cc.

Referenced by CoulombBarrier().