19#include "marley/marley_utils.hh"
20#include "marley/MassTable.hh"
21#include "marley/BackshiftedFermiGasModel.hh"
27 double A_third = std::pow(
A_, 1.0/3.0);
30 static constexpr double alpha = 0.0722396;
31 static constexpr double beta = 0.195267;
32 static constexpr double gamma_1 = 0.410289;
33 static constexpr double delta_global = 0.173015;
36 a_tilde_ = alpha*
A_ + beta*std::pow(A_third, 2);
39 gamma_ = gamma_1 / A_third;
53 else if (!z_odd && !n_odd)
Delta_BFM_ += 12/std::sqrt(
A_);
71 double two_sigma2 = 2 * std::pow(
sigma_, 2);
72 return ((two_J + 1) / two_sigma2) * std::exp(-0.25 * std::pow(two_J + 1, 2)
109 sigma_ = std::sqrt(sigma_F2);
118 sigma_ = std::sqrt(sigma_d2 + (Ex - Ed)
119 * (sigma_F2_Sn - sigma_d2) / (
Sn_ - Ed));
126 static const double exp1 = std::exp(1);
127 return exp1 * a / (12 *
sigma_);
131 double sqrt_aU = std::sqrt(aU);
132 return std::pow(12 *
sigma_ * (std::sqrt(2 * sqrt_aU)*U*std::exp(-2 * sqrt_aU)
133 + std::exp(-aU - 1)/a), -1);
double Sn_
neutron separation energy (MeV)
double gamma_
damping parameter (MeV -1)
int Z_
atomic number for this nuclide
double a_tilde_
asymptotic level density parameter (MeV -1)
int A_
mass number for this nuclide
double compute_sigma_F2(double Ex, double a)
Helper function used when evaluating the spin cutoff parameter.
double sigma_
spin cut-off parameter
double Delta_BFM_
excitation energy shift (MeV)
BackshiftedFermiGasModel(int Z, int A)
virtual double level_density(double Ex) override
double delta_W_
shell correction energy (MeV)
double sigma_d_global_
global fit for discrete-region spin cut-off parameter
Singleton lookup table for particle and atomic masses.
double get_fragment_separation_energy(int Z, int A, int pdg, bool theory_ok=true) const
Get the separation energy for emission of a nuclear fragment from a nucleus.
static const MassTable & Instance()
Get a const reference to the singleton instance of the MassTable.
double get_mass_excess(int Z, int A, bool theory_ok=true) const
Get the mass excess of a nucleus.
double liquid_drop_model_mass_excess(int Z, int A) const
Calculate a theoretical mass excess for a nucleus using the liquid drop model.
Type-safe representation of a parity value (either +1 or -1)