|
MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
Computes Coulomb correction factors for neutrino-nucleus differential cross sections. More...
#include <CoulombCorrector.hh>
Public Types | |
| enum class | CoulombMode { NO_CORRECTION , FERMI_FUNCTION , EMA , MEMA , FERMI_AND_EMA , FERMI_AND_MEMA } |
| Enumerated type used to set the method for handling Coulomb corrections for CC nuclear reactions. More... | |
Public Member Functions | |
| CoulombCorrector (int pdg_c, int pdg_d, CoulombMode mode=CoulombMode::FERMI_AND_MEMA) | |
| double | coulomb_correction_factor (double beta_rel_cd) const |
| CoulombMode | coulomb_mode () const |
| double | ema_factor (double beta_rel_cd, bool &ok, bool modified_ema) const |
| double | fermi_function (double beta_c) const |
| Compute the Fermi function | |
| void | set_coulomb_mode (CoulombMode mode) |
| Set the method for handling Coulomb corrections for this reaction. | |
Static Public Member Functions | |
| static CoulombMode | coulomb_mode_from_string (const std::string &str) |
| Convert a string to a CoulombMode value. | |
| static std::string | string_from_coulomb_mode (CoulombMode mode) |
| Convert a CoulombMode value to a string. | |
Protected Attributes | |
| int | Af_ |
| Residue mass number. | |
| CoulombMode | coulomb_mode_ |
| The method to use when computing Coulomb corrections. | |
| double | mc_ |
| Ejectile mass. | |
| int | pdg_c_ |
| Ejectile PDG code. | |
| int | Zf_ |
| Residue atomic number. | |
Static Protected Attributes | |
| static std::map< CoulombMode, std::string > | coulomb_mode_string_map_ |
Computes Coulomb correction factors for neutrino-nucleus differential cross sections.
Definition at line 26 of file CoulombCorrector.hh.
|
strong |
Enumerated type used to set the method for handling Coulomb corrections for CC nuclear reactions.
Definition at line 32 of file CoulombCorrector.hh.
| marley::CoulombCorrector::CoulombCorrector | ( | int | pdg_c, |
| int | pdg_d, | ||
| CoulombMode | mode = CoulombMode::FERMI_AND_MEMA ) |
| pdg_c | Ejectile PDG code |
| pdg_d | Residue PDG code |
Definition at line 62 of file CoulombCorrector.cc.
References Af_, coulomb_mode_, marley::MassTable::get_particle_mass(), marley::MassTable::Instance(), mc_, pdg_c_, and Zf_.
| double marley::CoulombCorrector::coulomb_correction_factor | ( | double | beta_rel_cd | ) | const |
Computes an approximate correction factor to account for effects of the Coulomb potential when calculating cross sections
| beta_rel_cd | The relative speed of the final particles c and d (dimensionless) |
Definition at line 117 of file CoulombCorrector.cc.
References coulomb_mode_, ema_factor(), and fermi_function().
|
inline |
Return the method used by this reaction for handling Coulomb corrections
Definition at line 67 of file CoulombCorrector.hh.
References coulomb_mode_.
|
static |
Convert a string to a CoulombMode value.
Definition at line 248 of file CoulombCorrector.cc.
References coulomb_mode_string_map_.
| double marley::CoulombCorrector::ema_factor | ( | double | beta_rel_cd, |
| bool & | ok, | ||
| bool | modified_ema ) const |
Computes a Coulomb correction factor according to the effective momentum approximation. See J. Engel, Phys. Rev. C 57, 2004 (1998)
| beta_rel_cd | The relative speed of the final particles c and d (dimensionless) | |
| [out] | ok | Flag that is set to false if subtracting the Coulomb potential pulls the event below threshold |
| modified_ema | If true, the modified EMA correction factor will be returned instead of that specified by the original EMA |
Definition at line 188 of file CoulombCorrector.cc.
References Af_, mc_, pdg_c_, and Zf_.
Referenced by coulomb_correction_factor().
| double marley::CoulombCorrector::fermi_function | ( | double | beta_c | ) | const |
Compute the Fermi function
| beta_c | Dimensionless speed of the ejectile |
Definition at line 87 of file CoulombCorrector.cc.
References Af_, mc_, pdg_c_, and Zf_.
Referenced by coulomb_correction_factor().
| void marley::CoulombCorrector::set_coulomb_mode | ( | CoulombMode | mode | ) |
Set the method for handling Coulomb corrections for this reaction.
Definition at line 269 of file CoulombCorrector.cc.
References coulomb_mode_, and pdg_c_.
|
static |
Convert a CoulombMode value to a string.
Definition at line 259 of file CoulombCorrector.cc.
References coulomb_mode_string_map_.
|
protected |
Residue mass number.
Definition at line 89 of file CoulombCorrector.hh.
Referenced by CoulombCorrector(), ema_factor(), and fermi_function().
|
protected |
The method to use when computing Coulomb corrections.
Definition at line 92 of file CoulombCorrector.hh.
Referenced by CoulombCorrector(), coulomb_correction_factor(), coulomb_mode(), and set_coulomb_mode().
|
staticprotected |
Helper map used by the methods to convert a CoulombMode value to and from a std::string
Definition at line 28 of file CoulombCorrector.hh.
Referenced by coulomb_mode_from_string(), and string_from_coulomb_mode().
|
protected |
Ejectile mass.
Definition at line 86 of file CoulombCorrector.hh.
Referenced by CoulombCorrector(), ema_factor(), and fermi_function().
|
protected |
Ejectile PDG code.
Definition at line 85 of file CoulombCorrector.hh.
Referenced by CoulombCorrector(), ema_factor(), fermi_function(), and set_coulomb_mode().
|
protected |
Residue atomic number.
Definition at line 88 of file CoulombCorrector.hh.
Referenced by CoulombCorrector(), ema_factor(), and fermi_function().