|
MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
Nuclear optical model for fragment emission calculations. More...
#include <KoningDelarocheOpticalModel.hh>
Classes | |
| class | ParamConfig |
Public Member Functions | |
| KoningDelarocheOpticalModel (int Z, int A, const JSON &om_config) | |
| 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) | |
| virtual void | print (std::ostream &out) const override |
| Print information about the optical model parameters. | |
| 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. | |
Public Member Functions inherited from marley::CachedOpticalModel | |
| CachedOpticalModel (int Z, int A) | |
| 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. | |
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 | |
Static Public Member Functions inherited from marley::CachedOpticalModel | |
| static void | set_use_cache (bool use_it) |
Protected Attributes inherited from marley::CachedOpticalModel | |
| std::map< TCKey, std::shared_ptr< InterpolatingFunction > > | tc_cache_ |
| Saved InterpolatingFunction objects corresponding to previously-encountered transmission coefficient requests. | |
Protected Attributes inherited from marley::OpticalModel | |
| int | A_ |
| int | Z_ |
Static Protected Attributes inherited from marley::CachedOpticalModel | |
| static constexpr double | MAX_TOTAL_KE_CM = 100. |
| Maximum kinetic energy to use when interacting with the cache. | |
| static constexpr double | MIN_TOTAL_KE_CM = 1e-10 |
| Minimum kinetic energy to use when interacting with the cache. | |
| static bool | USE_CACHE = true |
| Boolean switch that allows global enabling/disabling of the cache, which is used by default. | |
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.
Definition at line 41 of file KoningDelarocheOpticalModel.hh.
| marley::KoningDelarocheOpticalModel::KoningDelarocheOpticalModel | ( | int | Z, |
| int | A, | ||
| const JSON & | om_config ) |
| Z | Atomic number of the desired nuclide |
| A | Mass number of the desired nuclide |
| om_config | JSON object containing the parameter values for the optical model calculation |
Definition at line 25 of file KoningDelarocheOpticalModel.cc.
References marley::CachedOpticalModel::CachedOpticalModel(), marley::OpticalModel::A(), marley::MassTable::Instance(), and marley::OpticalModel::Z().
|
overridevirtual |
Calculate the optical model potential (including the Coulomb potential)
| 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 |
Implements marley::OpticalModel.
Definition at line 106 of file KoningDelarocheOpticalModel.cc.
References marley::MassTable::Instance().
|
overridevirtual |
Print information about the optical model parameters.
Implements marley::OpticalModel.
Definition at line 559 of file KoningDelarocheOpticalModel.cc.
|
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).
| 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) |
Implements marley::OpticalModel.
Definition at line 275 of file KoningDelarocheOpticalModel.cc.
References marley::MassTable::Instance().