MARLEY (Model of Argon Reaction Low Energy Yields)  v1.1.0 A Monte Carlo event generator for tens-of-MeV neutrino-nucleus interactions in liquid argon
marley::OpticalModel Class Referenceabstract

Abstract base class for nuclear optical model implementations. More...

#include <OpticalModel.hh>

Inheritance diagram for marley::OpticalModel:

## Public Member Functions

OpticalModel (int Z, int A)

int A () const
Get the mass number.

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)=0
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)=0
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)=0
Calculate the transmission coefficient for a nuclear fragment. More...

int Z () const
Get the atomic number.

int A_

int Z_

## Detailed Description

Abstract base class for nuclear optical model implementations.

## Constructor & Destructor Documentation

 marley::OpticalModel::OpticalModel ( int Z, int A )
inline
Parameters
 Z Atomic number of the desired nuclide A Mass number of the desired nuclide

## Member Function Documentation

 virtual std::complex marley::OpticalModel::optical_model_potential ( double r, double fragment_KE_lab, int fragment_pdg, int two_j, int l, int two_s, int target_charge = 0 )
pure virtual

Calculate the optical model potential (including the Coulomb potential)

Parameters
 r Distance from nuclear center (fm) fragment_KE_lab Fragment kinetic energy (MeV) in the lab frame fragment_pdg PDG code for the nuclear fragment two_j Two times the total angular momentum of the fragment l Orbital angular momentum of the fragment two_s Two times the spin of the fragment target_charge Net charge of the target atom
Returns
Complex-valued optical model potential (MeV)

Implemented in marley::KoningDelarocheOpticalModel.

 virtual double marley::OpticalModel::total_cross_section ( double fragment_KE_lab, int fragment_pdg, int two_s, size_t l_max, int target_charge = 0 )
pure virtual

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_lab Lab-frame kinetic energy of the incident projectile (MeV) fragment_pdg Projectile's PDG code two_s Two times the spin of the projectile l_max The maximum value of the orbital angular momentum quantum number $$\ell$$ to include in the sum over S-matrix elements target_charge Net 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)

Implemented in marley::KoningDelarocheOpticalModel.

 virtual double marley::OpticalModel::transmission_coefficient ( double total_KE_CM, int fragment_pdg, int two_j, int l, int two_s, int target_charge = 0 )
pure virtual

Calculate the transmission coefficient for a nuclear fragment.

Parameters
 total_KE_CM Total CM frame kinetic energy (MeV) fragment_pdg PDG code of the fragment two_j Two times the total angular momentum of the fragment l Orbital angular momentum of the fragment two_s Two times the spin of the fragment target_charge Net charge of the target atom

Implemented in marley::KoningDelarocheOpticalModel.

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