44   Coef = ConstCoeff = 0.0;
 
   47   NormalizedWeights.resize(nmax,0.0);
 
   59   if(thePhaseSpace != 
nullptr) { 
return; }
 
   76 G4double G4FermiBreakUp::CoulombBarrier(
 
   77   const std::vector<const G4VFermiFragment*>* conf)
 
   83   size_t nn = conf->size();
 
   84   for (
size_t i=0; i<
nn; ++i) {
 
   85     G4int z = (*conf)[i]->GetZ();
 
   86     G4int a = (*conf)[i]->GetA();
 
   91   CoulombEnergy -= SumZ*SumZ/g4calc->
Z13(SumA);
 
   92   return -Coef * CoulombEnergy;
 
  101   const std::vector<const G4VFermiFragment*>* conf = 
 
  107     theResult->push_back(theNucleus);
 
  111   size_t nn = conf->size();
 
  115     theResult->push_back(theNucleus);
 
  123     (*conf)[0]->FillFragment(theResult, fourMomentum);
 
  129     for(
size_t i=0; i<
nn; ++i) {
 
  130       massRes.push_back( (*conf)[i]->GetTotalEnergy() );
 
  132     std::vector<G4LorentzVector*>* mom = thePhaseSpace->
Decay(M, massRes);
 
  138     for (
size_t j=0; j<
nn; ++j) {    
 
  139       (*mom)[j]->boost(boostVector); 
 
  140       (*conf)[j]->FillFragment(theResult, *((*mom)[j]));
 
  148 const std::vector<const G4VFermiFragment*>* 
 
  151   const std::vector<const G4VFermiFragment*>* res = 0;
 
  153   const std::vector<const G4FermiConfiguration*>* conflist = 
 
  155   if(!conflist) { 
return res; }
 
  156   size_t nn = conflist->size();
 
  162     NormalizedWeights.resize(nmax,0.0);
 
  165       for(
size_t i=0; i<
nn; ++i) { 
 
  166     prob += DecayProbability(A, mass, (*conflist)[i]);
 
  167     NormalizedWeights[i] = prob;
 
  170       for(idx=0; idx<
nn; ++idx) { 
 
  171     if(NormalizedWeights[idx] >= prob) { 
break; }
 
  175     res = (*conflist)[idx]->GetFragmentList();
 
  193   const std::vector<const G4VFermiFragment*>* flist = 
 
  197   size_t K = flist->size();
 
  198   if(K > frag.size()) { frag.resize(K, 0); }
 
  200   for (
size_t i=0; i<K; ++i) {
 
  201     frag[i] = (*flist)[i];
 
  203       ((*flist)[i]->GetFragmentMass() + (*flist)[i]->GetExcitationEnergy());
 
  207   KineticEnergy -= CoulombBarrier(flist);
 
  208   if (KineticEnergy <= 0.0) { 
return 0.0; }
 
  217   for (
size_t i=0; i<K; ++i) {
 
  218     G4double mass = (*flist)[i]->GetFragmentMass();
 
  221     S_n *= (*flist)[i]->GetPolarization();
 
  224   G4double MassFactor = ProdMass/SumMass;
 
  225   MassFactor *= std::sqrt(MassFactor);  
 
  238     Energ = g4calc->
powN(Energ, N);
 
  249     Energ = g4calc->
powN(Energ, n1)*std::sqrt(Energ);
 
  255   for(
size_t i=0; i<K-1; ++i) {
 
  258       for(
size_t j=i+1; j<K; ++j) {
 
  259         if(frag[i] == frag[j]) {
 
  264       if(1 < nf) { G_n *= g4calc->
factorial(nf); }
 
  268   G4double Weight = Coeff*MassFactor*S_n*Energ/(G_n*Gamma*KineticEnergy);
 
static G4Pow * GetInstance()
 
Hep3Vector boostVector() const 
 
G4double powN(G4double x, G4int n) const 
 
static constexpr double hbarc
 
static constexpr double twopi
 
G4bool IsApplicable(G4int Z, G4int A, G4double mass) const 
 
G4double Z13(G4int Z) const 
 
double A(double temperature)
 
const G4LorentzVector & GetMomentum() const 
 
std::vector< G4Fragment * > G4FragmentVector
 
G4double factorial(G4int Z) const 
 
virtual ~G4FermiBreakUp()
 
virtual G4bool IsApplicable(G4int Z, G4int A, G4double mass) const final
 
std::vector< G4LorentzVector * > * Decay(G4double parent_mass, const std::vector< G4double > &fragment_masses) const 
 
virtual void BreakFragment(G4FragmentVector *, G4Fragment *theNucleus) final
 
virtual void Initialise() final
 
static constexpr double fermi
 
static constexpr double elm_coupling
 
static constexpr double pi
 
static G4FermiFragmentsPool * Instance()
 
const std::vector< const G4VFermiFragment * > * GetFragmentList() const 
 
const std::vector< const G4FermiConfiguration * > * GetConfigurationList(G4int Z, G4int A, G4double mass) const 
 
static constexpr double pi
 
const G4FermiPhaseSpaceDecay * GetFermiPhaseSpaceDecay() const