Abstract base class for nuclear optical model implementations.
More...
#include <OpticalModel.hh>
|
| 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.
|
|
Abstract base class for nuclear optical model implementations.
◆ OpticalModel()
marley::OpticalModel::OpticalModel |
( |
int |
Z, |
|
|
int |
A |
|
) |
| |
|
inline |
- Parameters
-
Z | Atomic number of the desired nuclide |
A | Mass number of the desired nuclide |
◆ optical_model_potential()
virtual std::complex<double> 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.
◆ total_cross_section()
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.
◆ transmission_coefficient()
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: