23#include "marley/CoulombCorrector.hh"
24#include "marley/Generator.hh"
25#include "marley/InterpolationGrid.hh"
26#include "marley/JSON.hh"
38 explicit JSONConfig(
const std::string& json_filename );
51 InterpMethod get_interpolation_method(
const std::string& rule )
const;
52 int neutrino_pdg(
const std::string& nu )
const;
60 std::unique_ptr< marley::NeutrinoSource >& source )
const;
71 static void handle_json_error(
const std::string& name,
79 const marley::JSON& source_spec,
const char* description,
80 const char* default_str )
const;
86 inline const marley::JSON& marley::JSONConfig::get_json()
const
89 inline void marley::JSONConfig::set_json(
const marley::JSON& json )
CoulombMode
Enumerated type used to set the method for handling Coulomb corrections for CC nuclear reactions.
The MARLEY Event generator.
One-dimensional function y(x) defined using a grid of ordered pairs (x,y) and an interpolation rule.
marley::JSON json_
JSON object describing this configuration.
static bool check_for_allowed_approximation(const marley::JSON &ff_config)
std::string source_get(const char *name, const marley::JSON &source_spec, const char *description, const char *default_str) const
Helper function for loading strings from the JSON configuration.
bool process_extra_source_types(const std::string &type, const marley::JSON &source_spec, int pdg_code, std::unique_ptr< marley::NeutrinoSource > &source) const
Helper function used to define ROOT-based neutrino source types @detail This function is a no-op when...