|
MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
A reduced nuclear matrix element that represents a transition caused by a neutrino-nucleus reaction. More...
#include <MatrixElement.hh>
Public Types | |
| enum | TransitionType { FERMI = 0 , GAMOW_TELLER = 1 } |
| Enumerated type that represents the possible kinds of nuclear transitions recognized by MARLEY. More... | |
Public Member Functions | |
| MatrixElement (double level_energy, double strength, TransitionType type, double err_low, double err_high, marley::Level *final_level=nullptr) | |
| MatrixElement (double level_energy, double strength, TransitionType type, marley::Level *final_level=nullptr) | |
| Construct a MatrixElement without uncertainty information (errors default to zero) | |
| double | cos_theta_pdf (double cos_theta_c_cm, double beta_c_cm) const |
| Compute the PDF for the CM frame scattering cosine. | |
| marley::Level * | level () |
| Get a pointer to the final-state nuclear Level accessed by the matrix element, or nullptr if it is a transition to the unbound continuum. | |
| const marley::Level * | level () const |
| Get a pointer to the final-state nuclear Level accessed by the matrix element, or nullptr if it is a transition to the unbound continuum. | |
| double | level_energy () const |
| Get the excitation energy (MeV) of the final-state nuclear level accessed by the matrix element. | |
| void | set_level (marley::Level *lev) |
| Set the pointer to the final nuclear Level object accessed by the matrix element. | |
| void | set_level_energy (double energy) |
| Set the excitation energy (MeV) of the final-state nuclear level accessed by the matrix element. | |
| void | set_strength (double strength) |
| Set the numerical value (dimensionless) of the matrix element. | |
| void | set_type (TransitionType type) |
| Set the kind of nuclear transition (e.g., Fermi, Gamow-Teller) represented by the matrix element. | |
| double | strength () const |
| Get the numerical value (dimensionless) of the matrix element. | |
| double | strength_err_high () const |
| Get the upper uncertainty on the matrix element strength. | |
| double | strength_err_low () const |
| Get the lower uncertainty on the matrix element strength. | |
| double | tabulated_level_energy () const |
| Get the excitation energy (MeV) listed for this level in the reaction matrix element data file. | |
| TransitionType | type () const |
| Get the kind of nuclear transition (e.g., Fermi, Gamow-Teller) represented by the matrix element. | |
| std::string | type_str () const |
| Returns a string representation of the transition type for this matrix element. | |
Protected Attributes | |
| marley::Level * | final_level_ |
| Pointer to the final Level object for a transition to a discrete nuclear level, or nullptr for an unbound state. | |
| double | level_energy_ |
| Energy (MeV) of the final-state nuclear level accessed by this matrix element. | |
| double | strength_ |
| Numerical value of the matrix element (dimensionless) | |
| double | strength_err_high_ = 0. |
| Upper uncertainty on the matrix element strength (zero if not specified) | |
| double | strength_err_low_ = 0. |
| Lower uncertainty on the matrix element strength (zero if not specified) | |
| TransitionType | type_ |
| The kind of transition represented by this matrix element (Fermi, Gamow-Teller, etc.) | |
A reduced nuclear matrix element that represents a transition caused by a neutrino-nucleus reaction.
Definition at line 26 of file MatrixElement.hh.
Enumerated type that represents the possible kinds of nuclear transitions recognized by MARLEY.
Definition at line 32 of file MatrixElement.hh.
|
inline |
| level_energy | Excitation energy (MeV) of the final-state nuclear level accessed by the matrix element |
| strength | Numerical value (dimensionless) of the matrix element |
| type | Type of nuclear transition (e.g., Fermi, Gamow-Teller) represented by the matrix element |
| err_low | Lower uncertainty on the strength (default 0) |
| err_high | Upper uncertainty on the strength (default 0, if equal to err_low then the uncertainty is symmetric) |
| final_level | Pointer to the Level object that represents the final nuclear level |
Definition at line 77 of file MatrixElement.hh.
References final_level_, level_energy(), level_energy_, strength(), strength_, strength_err_high_, strength_err_low_, type(), and type_.
Referenced by MatrixElement().
|
inline |
Construct a MatrixElement without uncertainty information (errors default to zero)
Definition at line 86 of file MatrixElement.hh.
References MatrixElement(), level_energy(), strength(), and type().
|
inline |
Compute the PDF for the CM frame scattering cosine.
| cos_theta_c_cm | Ejectile scattering cosine in the CM frame |
| beta_c_cm | Ejectile speed (dimensionless) as measured in the CM frame |
Definition at line 159 of file MatrixElement.hh.
References FERMI, GAMOW_TELLER, and type_.
|
inline |
Get a pointer to the final-state nuclear Level accessed by the matrix element, or nullptr if it is a transition to the unbound continuum.
Definition at line 138 of file MatrixElement.hh.
References final_level_.
|
inline |
Get a pointer to the final-state nuclear Level accessed by the matrix element, or nullptr if it is a transition to the unbound continuum.
Definition at line 133 of file MatrixElement.hh.
References final_level_.
|
inline |
Get the excitation energy (MeV) of the final-state nuclear level accessed by the matrix element.
Definition at line 92 of file MatrixElement.hh.
References final_level_, and level_energy_.
Referenced by MatrixElement(), MatrixElement(), marley::DiscreteNuclearReaction::diff_xs(), and marley::DiscreteNuclearReaction::total_xs().
|
inline |
Set the pointer to the final nuclear Level object accessed by the matrix element.
Definition at line 153 of file MatrixElement.hh.
References final_level_.
|
inline |
Set the excitation energy (MeV) of the final-state nuclear level accessed by the matrix element.
Definition at line 142 of file MatrixElement.hh.
References level_energy_.
|
inline |
Set the numerical value (dimensionless) of the matrix element.
Definition at line 145 of file MatrixElement.hh.
References strength(), and strength_.
|
inline |
|
inline |
Get the numerical value (dimensionless) of the matrix element.
Definition at line 118 of file MatrixElement.hh.
References strength_.
Referenced by MatrixElement(), MatrixElement(), marley::DiscreteNuclearReaction::diff_xs(), set_strength(), and marley::DiscreteNuclearReaction::total_xs().
|
inline |
Get the upper uncertainty on the matrix element strength.
Definition at line 124 of file MatrixElement.hh.
References strength_err_high_.
|
inline |
Get the lower uncertainty on the matrix element strength.
Definition at line 121 of file MatrixElement.hh.
References strength_err_low_.
|
inline |
Get the excitation energy (MeV) listed for this level in the reaction matrix element data file.
This value may differ from that returned by level_energy() for discrete nuclear levels. When final_level_ is not nullptr, level_energy() returns the excitation energy owned by final_level_, while tabulated_level_energy() returns the value of the level_energy_ member variable. The latter is initialized from the reaction data file and may not match the discrete level data. To achieve consistency between the two sets of level energies, MARLEY overrides the values tabulated in the reaction data files with their closest matching discrete level energies. The level_energy_ member variable retains the reaction dataset value for validation purposes. For any physics calculation in MARLEY, level_energy() should be used instead of tabulated_level_energy().
Definition at line 115 of file MatrixElement.hh.
References level_energy_.
|
inline |
Get the kind of nuclear transition (e.g., Fermi, Gamow-Teller) represented by the matrix element.
Definition at line 128 of file MatrixElement.hh.
References type_.
Referenced by MatrixElement(), MatrixElement(), marley::DiscreteNuclearReaction::diff_xs(), marley::DiscreteNuclearReaction::sample_cos_theta_c_cm(), and set_type().
|
inline |
Returns a string representation of the transition type for this matrix element.
Definition at line 178 of file MatrixElement.hh.
References FERMI, GAMOW_TELLER, and type_.
|
protected |
Pointer to the final Level object for a transition to a discrete nuclear level, or nullptr for an unbound state.
Definition at line 208 of file MatrixElement.hh.
Referenced by MatrixElement(), level(), level(), level_energy(), and set_level().
|
protected |
Energy (MeV) of the final-state nuclear level accessed by this matrix element.
Definition at line 189 of file MatrixElement.hh.
Referenced by MatrixElement(), level_energy(), set_level_energy(), and tabulated_level_energy().
|
protected |
Numerical value of the matrix element (dimensionless)
Definition at line 192 of file MatrixElement.hh.
Referenced by MatrixElement(), set_strength(), and strength().
|
protected |
Upper uncertainty on the matrix element strength (zero if not specified)
Definition at line 200 of file MatrixElement.hh.
Referenced by MatrixElement(), and strength_err_high().
|
protected |
Lower uncertainty on the matrix element strength (zero if not specified)
Definition at line 196 of file MatrixElement.hh.
Referenced by MatrixElement(), and strength_err_low().
|
protected |
The kind of transition represented by this matrix element (Fermi, Gamow-Teller, etc.)
Definition at line 204 of file MatrixElement.hh.
Referenced by MatrixElement(), cos_theta_pdf(), set_type(), type(), and type_str().