|
MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
Public Member Functions | |
| ElectronReaction (int pdg_a, int target_atom_pdg, const std::string &source_file) | |
| virtual marley::TargetAtom | atomic_target () const override final |
| Returns the target atom involved in this reaction. | |
| virtual std::shared_ptr< HepMC3::GenEvent > | create_event (int particle_id_a, double KEa, marley::Generator &gen) const override |
| Create an event object for this reaction. | |
| virtual double | diff_xs (int pdg_a, double KEa, double cos_theta_c_cm) const |
| double | g1 () const |
| double | g2 () const |
| virtual double | threshold_kinetic_energy () const override |
| Get the minimum lab-frame kinetic energy (MeV) of the projectile that allows this reaction to proceed via a transition to the residue's ground state. | |
| virtual double | total_xs (int pdg_a, double KEa) const override |
| Compute the reaction's total cross section (MeV -2) | |
Public Member Functions inherited from marley::Reaction | |
| Reaction (const std::string &source_file) | |
| Construct a Reaction with the resolved path of the data file. | |
| const std::string & | get_description () const |
| Get a string that contains the formula for this reaction. | |
| int | pdg_a () const |
| Get the projectile PDG code. | |
| int | pdg_b () const |
| Get the target PDG code. | |
| ProcessType | process_type () const |
| Get the process type for this reaction. | |
| const std::string & | source_file () const |
| Get the resolved path of the reaction data file used to construct this Reaction. | |
Additional Inherited Members | |
Public Types inherited from marley::Reaction | |
| enum | DataFormat { DiscreteStrengths = 0 , MultipoleResponses = 1 } |
| Enumerated type describing the file format for reaction data. More... | |
| enum | ProcessType { Unknown = -1 , NeutrinoCC_Discrete = 0 , AntiNeutrinoCC_Discrete = 1 , NC_Discrete = 2 , NuElectronElastic = 3 , NeutrinoCC_Continuum = 4 , AntiNeutrinoCC_Continuum = 5 , NC_Continuum = 6 , StandaloneDecay = 7 } |
| Enumerated type describing the kind of scattering process represented by a Reaction. More... | |
Static Public Member Functions inherited from marley::Reaction | |
| static int | get_ejectile_pdg (int pdg_a, ProcessType proc_type) |
| static void | get_residue_pdg_and_charge (ProcessType proc_type, int pdg_b, int &pdg_d, int &q_d) |
| static std::vector< std::unique_ptr< Reaction > > | load_from_file (const std::string &filename, StructureDatabase &db, CoulombCorrector::CoulombMode coulomb_mode, const JSON &ff_config) |
| static std::string | proc_type_to_string (const ProcessType &pt) |
Protected Member Functions inherited from marley::Reaction | |
| virtual std::shared_ptr< HepMC3::GenEvent > | make_event_object (double KEa, const std::shared_ptr< HepMC3::GenParticle > &ejectile, const std::shared_ptr< HepMC3::GenParticle > &residue) const |
| Helper function that makes an event object. | |
| virtual std::shared_ptr< HepMC3::GenEvent > | make_event_object (double KEa, double pc_cm, double cos_theta_c_cm, double phi_c_cm, double Ec_cm, double Ed_cm, int residue_status) const |
| Helper function that makes an event object. | |
| void | two_two_scatter (double KEa, double &s, double &Ec_cm, double &pc_cm, double &Ed_cm) const |
| Helper function that handles CM frame kinematics for the reaction. | |
Static Protected Member Functions inherited from marley::Reaction | |
| static const std::vector< int > & | get_projectiles (ProcessType proc_type) |
Protected Attributes inherited from marley::Reaction | |
| std::string | description_ |
| String that contains a formula describing the reaction. | |
| double | ma_ |
| Projectile mass (MeV) | |
| double | mb_ |
| Target mass (MeV) | |
| double | mc_ |
| Ejectile mass (MeV) | |
| double | md_ |
| Residue mass (MeV) | |
| int | pdg_a_ |
| PDG code for the projectile. | |
| int | pdg_b_ |
| PDG code for the target. | |
| int | pdg_c_ |
| PDG code for the ejectile. | |
| int | pdg_d_ |
| PDG code for the residue. | |
| ProcessType | process_type_ |
| Type of scattering process (CC, NC) represented by this reaction. | |
| const std::string | source_file_ |
| Resolved path of the reaction data file. | |
Definition at line 35 of file ElectronReaction.hh.
| marley::ElectronReaction::ElectronReaction | ( | int | pdg_a, |
| int | target_atom_pdg, | ||
| const std::string & | source_file ) |
Definition at line 31 of file ElectronReaction.cc.
|
inlinefinaloverridevirtual |
Returns the target atom involved in this reaction.
For nuclear reactions, this is identical to the pdg_b_ member variable. For electron reactions, it is distinct (since particle b is the initial struck electron).
Implements marley::Reaction.
Definition at line 42 of file ElectronReaction.hh.
|
overridevirtual |
Create an event object for this reaction.
| pdg_a | PDG code for the incident projectile |
| KEa | Lab-frame kinetic energy of the projectile |
| gen | Reference to the Generator to use for random sampling |
Implements marley::Reaction.
Definition at line 166 of file ElectronReaction.cc.
References diff_xs(), marley::Reaction::make_event_object(), marley::Reaction::md_, marley::Reaction::pdg_a(), marley::Reaction::pdg_a_, marley::Generator::rejection_sample(), marley::Reaction::two_two_scatter(), and marley::Generator::uniform_random_double().
|
virtual |
Definition at line 127 of file ElectronReaction.cc.
References marley::Reaction::ma_, marley::Reaction::mb_, marley::Reaction::mc_, marley::Reaction::md_, marley::Reaction::pdg_a(), and marley::Reaction::pdg_a_.
Referenced by create_event().
|
inline |
Definition at line 60 of file ElectronReaction.hh.
|
inline |
Definition at line 61 of file ElectronReaction.hh.
|
inlineoverridevirtual |
Get the minimum lab-frame kinetic energy (MeV) of the projectile that allows this reaction to proceed via a transition to the residue's ground state.
Implements marley::Reaction.
Definition at line 57 of file ElectronReaction.hh.
|
overridevirtual |
Compute the reaction's total cross section (MeV -2)
| pdg_a | Projectile's PDG code |
| KEa | Lab-frame kinetic energy of the incident projectile |
Implements marley::Reaction.
Definition at line 93 of file ElectronReaction.cc.
References marley::Reaction::ma_, marley::Reaction::mb_, marley::Reaction::mc_, marley::Reaction::md_, marley::Reaction::pdg_a(), and marley::Reaction::pdg_a_.