|
MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
Abstract base class for ExitChannel objects that lead to discrete nuclear levels in the final state. More...
#include <ExitChannel.hh>
Public Member Functions | |
| DiscreteExitChannel (const marley::Level &flev) | |
| virtual void | do_decay (double &Ex, int &two_J, marley::Parity &Pi, const std::shared_ptr< HepMC3::GenParticle > &compound_nucleus, std::shared_ptr< HepMC3::GenParticle > &emitted_particle, std::shared_ptr< HepMC3::GenParticle > &residual_nucleus, int &qIon, marley::Generator &gen) const final override |
| Simulates a nuclear decay into this channel. | |
| const marley::Level & | get_final_level () const |
| Get a const reference to the final-state nuclear level. | |
| virtual bool | is_continuum () const final override |
| Returns true if this channel accesses the particle-unbound continuum of nuclear levels or false otherwise. | |
Public Member Functions inherited from marley::ExitChannel | |
| ExitChannel ()=default | |
| ExitChannel (int pdgi, int qi, double Exi, int twoJi, marley::Parity Pi, double rho_i, marley::StructureDatabase &sdb) | |
| virtual bool | emits_fragment () const =0 |
| Returns true if this channel involves fragment emission or false if it involves gamma-ray emission. | |
| virtual int | emitted_particle_pdg () const =0 |
| Returns the PDG code for the particle (gamma-ray or nuclear fragment) emitted by decays into this ExitChannel. | |
| virtual int | final_nucleus_pdg () const =0 |
| Returns the PDG code for the final nucleus. | |
| double | width () const |
| Get the total decay width into this channel (MeV) | |
Protected Attributes | |
| const marley::Level & | final_level_ |
| Reference to the final-state nuclear level. | |
Protected Attributes inherited from marley::ExitChannel | |
| double | Exi_ |
| Initial nuclear excitation energy \( E_x \) (MeV) | |
| double | one_over_two_pi_rho_i_ |
| int | pdgi_ |
| PDG code for the initial nucleus. | |
| marley::Parity | Pi_ |
| Initial nuclear parity \( \Pi \). | |
| int | qi_ |
| marley::StructureDatabase * | sdb_ |
| StructureDatabase to use in calculations. | |
| int | twoJi_ |
| Two times the initial nuclear spin \( J \). | |
| double | width_ |
| Total decay width into this channel (MeV) | |
Additional Inherited Members | |
Static Public Member Functions inherited from marley::ExitChannel | |
| template<typename It> | |
| static marley::IteratorToPointerMember< It, double > | make_width_iterator (It it) |
| Convert an iterator that points to an ExitChannel object into an iterator to the ExitChannel's width_ member variable. | |
Protected Member Functions inherited from marley::ExitChannel | |
| virtual void | compute_total_width ()=0 |
| virtual void | prepare_products (const std::shared_ptr< HepMC3::GenParticle > &compound_nucleus, std::shared_ptr< HepMC3::GenParticle > &emitted_particle, std::shared_ptr< HepMC3::GenParticle > &residual_nucleus, double Exf, int &qf, marley::Generator &gen) const |
| Helper function that prepares Particle objects representing the products of the two-body decay. | |
Abstract base class for ExitChannel objects that lead to discrete nuclear levels in the final state.
Definition at line 168 of file ExitChannel.hh.
|
inline |
| [in] | flev | Reference to the final-state nuclear level |
Definition at line 172 of file ExitChannel.hh.
References final_level_.
Referenced by marley::FragmentDiscreteExitChannel::FragmentDiscreteExitChannel(), and marley::GammaDiscreteExitChannel::GammaDiscreteExitChannel().
|
finaloverridevirtual |
Simulates a nuclear decay into this channel.
| [out] | Exf | The final nuclear excitation energy |
| [out] | two_Jf | Two times the final nuclear spin |
| [out] | Pf | The final nuclear parity |
| [in] | compound_nucleus | Particle object representing the initial nucleus |
| [out] | emitted_particle | Particle emitted in the de-excitation |
| [out] | residual_nucleus | Final-state nucleus after particle emission |
| [out] | qIon | Charge (in units of the elementary charge) of the final-state nucleus (ion) after particle emission |
| gen | Generator to use for random sampling |
Implements marley::ExitChannel.
Definition at line 392 of file ExitChannel.cc.
References final_level_, and marley::ExitChannel::prepare_products().
|
inline |
Get a const reference to the final-state nuclear level.
Definition at line 184 of file ExitChannel.hh.
References final_level_.
Referenced by marley::OMPWeightCalculator::weight().
|
inlinefinaloverridevirtual |
Returns true if this channel accesses the particle-unbound continuum of nuclear levels or false otherwise.
Implements marley::ExitChannel.
Definition at line 181 of file ExitChannel.hh.
|
protected |
Reference to the final-state nuclear level.
Definition at line 190 of file ExitChannel.hh.
Referenced by DiscreteExitChannel(), marley::FragmentDiscreteExitChannel::compute_total_width(), marley::GammaDiscreteExitChannel::compute_total_width(), do_decay(), and get_final_level().