|
| ElectronReaction (int pdg_a, int target_atom_pdg) |
|
virtual marley::TargetAtom | atomic_target () const override final |
| Returns the target atom involved in this reaction. More...
|
|
virtual marley::Event | create_event (int particle_id_a, double KEa, marley::Generator &gen) const override |
| Create an event object for this reaction. More...
|
|
virtual double | diff_xs (int pdg_a, double KEa, double cos_theta_c_cm) const override |
| Differential cross section \(d\sigma/d\cos\theta_{c}^{\mathrm{CM}}\) (MeV -2) More...
|
|
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) More...
|
|
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.
|
|
|
enum | ProcessType { NeutrinoCC = 0
, AntiNeutrinoCC = 1
, NC = 2
, NuElectronElastic = 3
} |
| Enumerated type describing the kind of scattering process represented by a Reaction. More...
|
|
static int | get_ejectile_pdg (int pdg_a, ProcessType proc_type) |
|
static std::vector< std::unique_ptr< Reaction > > | load_from_file (const std::string &filename, marley::StructureDatabase &db) |
|
static std::string | proc_type_to_string (const ProcessType &pt) |
|
virtual marley::Event | make_event_object (double KEa, double pc_cm, double cos_theta_c_cm, double phi_c_cm, double Ec_cm, double Ed_cm, double E_level, int twoJ, const marley::Parity &P) const |
| Helper function that makes an event object. More...
|
|
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. More...
|
|
static const std::vector< int > & | get_projectiles (ProcessType proc_type) |
|
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.
|
|
◆ atomic_target()
|
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.
◆ create_event()
Create an event object for this reaction.
- Parameters
-
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 |
- Note
- Functions that override create_event() should throw an Error if pdg_a != pdg_a_.
Implements marley::Reaction.
◆ diff_xs()
double marley::ElectronReaction::diff_xs |
( |
int |
pdg_a, |
|
|
double |
KEa, |
|
|
double |
cos_theta_c_cm |
|
) |
| const |
|
overridevirtual |
Differential cross section \(d\sigma/d\cos\theta_{c}^{\mathrm{CM}}\) (MeV -2)
- Parameters
-
pdg_a | PDG code for the projectile |
KEa | Lab-frame kinetic energy (MeV) of the projectile |
cos_theta_c_cm | CM frame scattering cosine of the ejectile |
- Note
- Functions that override diff_xs() should always return zero if pdg_a != pdg_a_.
- Todo:
- Take into account effects of electron binding energy
Implements marley::Reaction.
◆ total_xs()
double marley::ElectronReaction::total_xs |
( |
int |
pdg_a, |
|
|
double |
KEa |
|
) |
| const |
|
overridevirtual |
Compute the reaction's total cross section (MeV -2)
- Parameters
-
pdg_a | Projectile's PDG code |
KEa | Lab-frame kinetic energy of the incident projectile |
- Returns
- Reaction total cross section (MeV -2)
- Note
- Functions that override total_xs() should always return zero if pdg_a != pdg_a_.
- Todo:
- Take into account effects of electron binding energy
Implements marley::Reaction.
The documentation for this class was generated from the following files:
- /Users/gardiner/marley/include/marley/ElectronReaction.hh
- /Users/gardiner/marley/src/ElectronReaction.cc