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 | List of all members
marley::KoningDelarocheOpticalModel Class Reference

Nuclear optical model for fragment emission calculations. More...

#include <KoningDelarocheOpticalModel.hh>

Inheritance diagram for marley::KoningDelarocheOpticalModel:
marley::OpticalModel

Public Member Functions

 KoningDelarocheOpticalModel (int Z, int A, double step_size=DEFAULT_NUMEROV_STEP_SIZE_)
 
virtual std::complex< double > optical_model_potential (double r, double fragment_KE_lab, int fragment_pdg, int two_j, int l, int two_s, int target_charge=0) override
 Calculate the optical model potential (including the Coulomb potential) More...
 
virtual double total_cross_section (double fragment_KE_lab, int fragment_pdg, int two_s, size_t l_max, int target_charge=0) override
 Compute the energy-averaged total cross section (MeV -2) for a nuclear fragment projectile. More...
 
virtual double transmission_coefficient (double total_KE_CM, int fragment_pdg, int two_j, int l, int two_s, int target_charge=0) override
 Calculate the transmission coefficient for a nuclear fragment. More...
 
- Public Member Functions inherited from marley::OpticalModel
 OpticalModel (int Z, int A)
 
int A () const
 Get the mass number.
 
int Z () const
 Get the atomic number.
 

Additional Inherited Members

- Protected Attributes inherited from marley::OpticalModel
int A_
 
int Z_
 

Detailed Description

Nuclear optical model for fragment emission calculations.

This class implements the global optical model potential of A. J. Koning and J. P. Delaroche, Nucl. Phys. A 713 (2003) 231-310. Numerov's method is used to integrate the Schrödinger equation during transmission coefficient and cross section calculations.

Constructor & Destructor Documentation

◆ KoningDelarocheOpticalModel()

marley::KoningDelarocheOpticalModel::KoningDelarocheOpticalModel ( int  Z,
int  A,
double  step_size = DEFAULT_NUMEROV_STEP_SIZE_ 
)
Parameters
ZAtomic number of the desired nuclide
AMass number of the desired nuclide
step_sizeStep size (fm) to use for numerical integration of the Schrödinger equation

Member Function Documentation

◆ optical_model_potential()

std::complex< double > marley::KoningDelarocheOpticalModel::optical_model_potential ( double  r,
double  fragment_KE_lab,
int  fragment_pdg,
int  two_j,
int  l,
int  two_s,
int  target_charge = 0 
)
overridevirtual

Calculate the optical model potential (including the Coulomb potential)

Parameters
rDistance from nuclear center (fm)
fragment_KE_labFragment kinetic energy (MeV) in the lab frame
fragment_pdgPDG code for the nuclear fragment
two_jTwo times the total angular momentum of the fragment
lOrbital angular momentum of the fragment
two_sTwo times the spin of the fragment
target_chargeNet charge of the target atom
Returns
Complex-valued optical model potential (MeV)
Todo:
TODO: find a better way of doing this!

Implements marley::OpticalModel.

◆ total_cross_section()

double marley::KoningDelarocheOpticalModel::total_cross_section ( double  fragment_KE_lab,
int  fragment_pdg,
int  two_s,
size_t  l_max,
int  target_charge = 0 
)
overridevirtual

Compute the energy-averaged total cross section (MeV -2) for a nuclear fragment projectile.

The total cross section given here by the optical model may be directly compared to experiment. Expressions exist for the optical model elastic and reaction (absorption) cross sections, but these are hard to directly compare to the data because the absorption cross section includes the compound elastic channel.

For more details, see appendix A (especially equation A.12) of S. Gardiner, "Nuclear Effects in Neutrino Detection," PhD thesis, University of California, Davis, 2018. Note that we assume in this function that the target nucleus has zero spin (spherical optical model).

Parameters
fragment_KE_labLab-frame kinetic energy of the incident projectile (MeV)
fragment_pdgProjectile's PDG code
two_sTwo times the spin of the projectile
l_maxThe maximum value of the orbital angular momentum quantum number \(\ell\) to include in the sum over S-matrix elements
target_chargeNet charge of the target atom (used to adjust the atomic mass by the appropriate number of electron masses if the target is ionized)
Returns
Energy-averaged total scattering cross section (MeV -2)
Todo:
TODO: find a better way of doing this!

Implements marley::OpticalModel.

◆ transmission_coefficient()

double marley::KoningDelarocheOpticalModel::transmission_coefficient ( double  total_KE_CM,
int  fragment_pdg,
int  two_j,
int  l,
int  two_s,
int  target_charge = 0 
)
overridevirtual

Calculate the transmission coefficient for a nuclear fragment.

Parameters
total_KE_CMTotal CM frame kinetic energy (MeV)
fragment_pdgPDG code of the fragment
two_jTwo times the total angular momentum of the fragment
lOrbital angular momentum of the fragment
two_sTwo times the spin of the fragment
target_chargeNet charge of the target atom

Implements marley::OpticalModel.


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