MARLEY (Model of Argon Reaction Low Energy Yields)  v1.1.0
A Monte Carlo event generator for tens-of-MeV neutrino-nucleus interactions in liquid argon
 All Classes Functions Variables Enumerations Pages
Todo List
Member marley::BackshiftedFermiGasModel::BackshiftedFermiGasModel (int Z, int A)
Add other constructors to the BackshiftedFermiGasModel class to allow the user to set the level density parameters based on local fits
Member marley::BackshiftedFermiGasModel::level_density (double Ex) override

Replace Ed here with database of local fits taken from RIPL-3 or TALYS

Reconsider method used for handling spin cut-off parameter calculation for U <= Ed.

Member marley::BetaFitNeutrinoSource::BetaFitNeutrinoSource (int particle_id=marley_utils::ELECTRON_NEUTRINO, double Emin=0., double Emax=50., double Emean=13., double beta=4.5)
Remove hard-coded number of integration subintervals in this function
Member marley::ConfigurationFile::add_decay_schemes (const std::string &file_name, const marley::DecayScheme::FileFormat format, const std::set< int > &nucleus_pdg_codes)
Consider altering the parsing process used here so that all nuclides are loaded from the file in one pass.
Member marley::DecayAtRestNeutrinoSource::pdf (double E) override
Refine the approximate decay-at-rest Michel spectra to use more exact expressions.
Class marley::Error
Create an MARLEY exception class hierarchy as needed.
Member marley::Event::write_hepevt (size_t event_num, std::ostream &out) const
Alter marley::Event::write_hepevt() so that the user can specify a vertex position 4-vector to use.
Member marley::FermiDiracNeutrinoSource::FermiDiracNeutrinoSource (int particle_id=marley_utils::ELECTRON_NEUTRINO, double Emin=0., double Emax=50., double temp=3.5, double eta=0.)
Remove hard-coded number of integration subintervals in this function
Member marley::FunctionNeutrinoSource::FunctionNeutrinoSource (int particle_id=marley_utils::ELECTRON_NEUTRINO, double Emin=0., double Emax=50., std::function< double(double)> prob_dens_func=[](double) -> double{return 1.;})
Remove hard-coded number of integration subintervals in this function
Member marley::GammaStrengthFunctionModel::check_multipolarity (int l)
Improve error message
Member marley::Generator::rejection_sample (std::function< double(double)> f, double xmin, double xmax, double max_search_tolerance=DEFAULT_REJECTION_SAMPLING_TOLERANCE_)
Check the convergence explanation for the first step.
Member marley::HauserFeshbachDecay::l_max_
Make this a user-controlled value specified in the configuration file
Member marley::Integrator::Integrator (size_t num=N_DEFAULT_)

add error check for when num == 0 or too small

add error check for when num is ridiculously large

Member marley::InterpolationGrid< FirstNumericType, SecondNumericType >::InterpolationGrid (const Grid &grid, InterpolationMethod interp_method=InterpolationMethod::LinearLinear, ExtrapolationMethod extrap_method=ExtrapolationMethod::Zero)
Add error checks for the supplied grid
Member marley::KoningDelarocheOpticalModel::optical_model_potential (double r, double fragment_KE_lab, int fragment_pdg, int two_j, int l, int two_s, int target_charge=0) override
TODO: find a better way of doing this!
Member marley::KoningDelarocheOpticalModel::total_cross_section (double fragment_KE_lab, int fragment_pdg, int two_s, size_t l_max, int target_charge=0) override
TODO: find a better way of doing this!
Member marley::NuclearReaction::create_event (int particle_id_a, double KEa, marley::Generator &gen) override

Add more error checks to NuclearReaction::create_event as necessary

Remove hard-coded cutoff value

Come up with a better way of determining the Jpi values that will work for forbidden transition operators.

include possibility of negative parity here.

Member marley::NuclearReaction::NuclearReaction (std::string filename, marley::StructureDatabase &db)

Add more error handling for NuclearReaction::NuclearReaction

Consider automatically generating reaction descriptions from the particle PDG codes rather than entering the formulae into the reaction data files by hand.

Consider implementing a sorting procedure rather than strictly enforcing that energies must be given in ascending order.

Member marley::NuclearReaction::set_decay_scheme (marley::DecayScheme *scheme)
Add check to see if the energy of the chosen level is very different from the energy given in the reaction dataset. If it is, the level matchup is likely incorrect.
Member marley::NuclearReaction::total_xs (int pdg_a, double KEa) override
Consider whether you should use an exception if pdg_a != pdg_a_
Member marley::Particle::charge_
add error handling for cases where a marley::Particle is constructed with a charge that is inappropriate.
Member marley::Particle::mass_
Refactor the Particle class to ensure that the mass, 3-momentum, and total energy are always consistent with each other. MARLEY enforces this by using the Particle class carefully, but consistency should be guaranteed in the Particle class internals.
Class marley::Reaction
Add check that projectile kinetic energy KEa >= 0. for all relevant member functions of Reaction and NuclearReaction
Member marley::StructureDatabase::get_optical_model (int nucleus_pid)
add check for invalid nucleus particle ID value