MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
Loading...
Searching...
No Matches
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::ChebyshevInterpolatingFunction::chebyshev_point (size_t j) const
If needed for speed, consider caching the std::cos evaluations used here
Member marley::ChebyshevInterpolatingFunction::ChebyshevInterpolatingFunction (const std::function< double(double)> &func, double x_min, double x_max, size_t N=0)
PRINT WARNING MESSAGE
Member marley::DecayAtRestNeutrinoSource::pdf (double E) const override
Refine the approximate decay-at-rest Michel spectra to use more exact expressions.
Member marley::DiscreteNuclearReaction::create_event (int particle_id_a, double KEa, marley::Generator &gen) const override

Add more error checks to DiscreteNuclearReaction::create_event() as necessary

Revisit the equipartition assumption made here in favor of something better motivated.

Member marley::DiscreteNuclearReaction::summed_xs_helper (int pdg_a, double KEa, double cos_theta_c_cm, std::vector< double > *level_xsecs, bool differential) const
Consider whether you should use an exception if pdg_a != pdg_a_
Member marley::ElectronReaction::diff_xs (int pdg_a, double KEa, double cos_theta_c_cm) const
Take into account effects of electron binding energy
Member marley::ElectronReaction::total_xs (int pdg_a, double KEa) const override
Take into account effects of electron binding energy
Member marley::GammaStrengthFunctionModel::check_multipolarity (int l)
Improve error message
Member marley::Generator::inverse_transform_sample (const std::function< double(double)> &f, double xmin, double xmax, double bisection_tolerance=1e-12)
Remove hard-coded number of points here
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::LeptonFactors::operator* (const NuclearResponses &nr)
Revisit this hacky fix as you do a full implementation of inelastic NC scattering at finite momentum transfer
Member marley::NucleusDecayer::process_event (HepMC3::GenEvent &event, marley::Generator &gen) override
Revisit this
Member marley::Parity::operator int () const
See comments for marley::TargetAtom::operator int(). A similar situation occurs for this function.
Class marley::Reaction
Add check that projectile kinetic energy KEa >= 0. for all relevant member functions of Reaction and NuclearReaction
Member marley::Reaction::load_from_file (const std::string &filename, StructureDatabase &db, CoulombCorrector::CoulombMode coulomb_mode, const JSON &ff_config)

Add error handling for parsing problems

This can be done more cleanly via iss = std::istringstream( line ); However, GCC 4 does not include the move constructor for string streams. This was fixed for GCC 5. Change this line after MARLEY drops support for GCC < 5. See https://stackoverflow.com/a/27152585 and https://stackoverflow.com/q/7623650 for more details.

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

Member marley::StructureDatabase::get_optical_model (int nucleus_pid)
add check for invalid nucleus particle ID value
Member marley::WeightCalculator::weight (HepMC3::GenEvent &event, marley::Generator &gen) const =0
Revisit this constraint if a clear use case is found for event-by-event random numbers sampled within a WeightCalculator derived class implementation.