MARLEY (Model of Argon Reaction Low Energy Yields)  v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
marley::BackshiftedFermiGasModel Class Reference

Implementation of the back-shifted Fermi gas nuclear level density model. More...

#include <BackshiftedFermiGasModel.hh>

Inheritance diagram for marley::BackshiftedFermiGasModel:
marley::LevelDensityModel

Public Member Functions

 BackshiftedFermiGasModel (int Z, int A)
 
virtual double level_density (double Ex) override
 
virtual double level_density (double Ex, int two_J) override
 
virtual double level_density (double Ex, int two_J, marley::Parity Pi) override
 

Protected Member Functions

double compute_sigma_F2 (double Ex, double a)
 Helper function used when evaluating the spin cutoff parameter.
 

Protected Attributes

int A_
 mass number for this nuclide
 
double a_tilde_
 asymptotic level density parameter (MeV -1)
 
double Delta_BFM_
 excitation energy shift (MeV)
 
double delta_W_
 shell correction energy (MeV)
 
double gamma_
 damping parameter (MeV -1)
 
double sigma_
 spin cut-off parameter
 
double sigma_d_global_
 global fit for discrete-region spin cut-off parameter
 
double Sn_
 neutron separation energy (MeV)
 
int Z_
 atomic number for this nuclide
 

Detailed Description

Implementation of the back-shifted Fermi gas nuclear level density model.

Level density parameters used in this class are based on the global fits originally performed in A. J. Koning, et al., Nucl. Phys. A810 (2008) pp. 13-76. In addition to being used in MARLEY, this model has been adopted as one of the available options in the RIPL-3 data library and the TALYS nuclear code.

Constructor & Destructor Documentation

◆ BackshiftedFermiGasModel()

marley::BackshiftedFermiGasModel::BackshiftedFermiGasModel ( int  Z,
int  A 
)

Create a back-shifted Fermi gas model object for a specific nuclide. This constructor will use global fits to initialize all level density parameters.

Parameters
Zatomic number of the desired nuclide
Amass number of the desired nuclide
Todo:
Add other constructors to the BackshiftedFermiGasModel class to allow the user to set the level density parameters based on local fits

Member Function Documentation

◆ level_density() [1/3]

double marley::BackshiftedFermiGasModel::level_density ( double  Ex)
overridevirtual

Nuclear level density \( \rho(E_x) \) including all spins and parities.

Parameters
ExExcitation energy in MeV
Returns
Level density in MeV -1
Note
Calls to this function update the spin cut-off parameter sigma_
Todo:
Replace Ed here with database of local fits taken from RIPL-3 or TALYS
Todo:
Reconsider method used for handling spin cut-off parameter calculation for U <= Ed.

Implements marley::LevelDensityModel.

◆ level_density() [2/3]

double marley::BackshiftedFermiGasModel::level_density ( double  Ex,
int  two_J 
)
overridevirtual

Level density \( \rho(E_x, J) \) for a specific nuclear spin.

Parameters
ExExcitation energy in MeV
two_JTwo times the nuclear spin
Returns
Level density in MeV -1

Implements marley::LevelDensityModel.

◆ level_density() [3/3]

double marley::BackshiftedFermiGasModel::level_density ( double  Ex,
int  two_J,
marley::Parity  Pi 
)
overridevirtual

Level density \( \rho(E_x, J, \Pi) \) for a specific nuclear spin and parity.

Parameters
ExExcitation energy in MeV
two_JTwo times the nuclear spin
PiThe nuclear parity
Returns
Level density in MeV -1

The current implementation assumes parity equipartition.

Implements marley::LevelDensityModel.


The documentation for this class was generated from the following files: