|
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 all objects that describe the incident neutrino energy distribution. More...
#include <NeutrinoSource.hh>
Public Member Functions | |
| NeutrinoSource (int particle_id) | |
| virtual double | get_Emax () const =0 |
| Get the maximum neutrino energy (MeV) that can be sampled by this source. | |
| virtual double | get_Emin () const =0 |
| Get the minimum neutrino energy (MeV) that can be sampled by this source. | |
| virtual int | get_pid () const |
| Get the PDG particle ID for the neutrino type produced by this source. | |
| virtual double | pdf (double E) const =0 |
| Probability density function describing the incident neutrino energy distribution. | |
| virtual double | sample_incident_neutrino (int &pdg, marley::Generator &gen) const |
| Samples an incident neutrino energy and loads pdg with the PDG code of the appropriate neutrino type. | |
Static Public Member Functions | |
| static bool | pdg_is_allowed (const int pdg) |
Protected Attributes | |
| int | pid_ |
| PDG particle ID for the neutrinos produced by this source. | |
Abstract base class for all objects that describe the incident neutrino energy distribution.
Classes derived from NeutrinoSource implement a probability density function used to sample neutrino energies for each event. Because MARLEY will weight this probability density by the reaction cross section(s) during event generation, all NeutrinoSource objects should use unweighted energy spectra. While normalizing the probability densities to unity is not strictly required (the cross section weighted spectra are normalized automatically before sampling), it is encouraged, and all classes derived from NeutrinoSource currently do so.
Definition at line 38 of file NeutrinoSource.hh.
| marley::NeutrinoSource::NeutrinoSource | ( | int | particle_id | ) |
| particle_id | PDG particle ID for the neutrinos produced by this source |
Definition at line 38 of file NeutrinoSource.cc.
References pdg_is_allowed(), and pid_.
Referenced by marley::AlphaFitNeutrinoSource::AlphaFitNeutrinoSource(), marley::BetaFitNeutrinoSource::BetaFitNeutrinoSource(), marley::DecayAtRestNeutrinoSource::DecayAtRestNeutrinoSource(), marley::FermiDiracNeutrinoSource::FermiDiracNeutrinoSource(), marley::FunctionNeutrinoSource::FunctionNeutrinoSource(), marley::GridNeutrinoSource::GridNeutrinoSource(), marley::GridNeutrinoSource::GridNeutrinoSource(), and marley::MonoNeutrinoSource::MonoNeutrinoSource().
|
pure virtual |
Get the maximum neutrino energy (MeV) that can be sampled by this source.
Implemented in marley::AlphaFitNeutrinoSource, marley::BetaFitNeutrinoSource, marley::DecayAtRestNeutrinoSource, marley::FermiDiracNeutrinoSource, marley::FunctionNeutrinoSource, marley::GridNeutrinoSource, and marley::MonoNeutrinoSource.
Referenced by sample_incident_neutrino().
|
pure virtual |
Get the minimum neutrino energy (MeV) that can be sampled by this source.
Implemented in marley::AlphaFitNeutrinoSource, marley::BetaFitNeutrinoSource, marley::DecayAtRestNeutrinoSource, marley::FermiDiracNeutrinoSource, marley::FunctionNeutrinoSource, marley::GridNeutrinoSource, and marley::MonoNeutrinoSource.
Referenced by sample_incident_neutrino().
|
inlinevirtual |
Get the PDG particle ID for the neutrino type produced by this source.
Definition at line 332 of file NeutrinoSource.hh.
References pid_.
|
pure virtual |
Probability density function describing the incident neutrino energy distribution.
The neutrino spectrum produced by this source will be folded with the relevant cross sections by a Generator object during event creation
| E | neutrino energy (MeV) |
Implemented in marley::AlphaFitNeutrinoSource, marley::BetaFitNeutrinoSource, marley::DecayAtRestNeutrinoSource, marley::FermiDiracNeutrinoSource, marley::FunctionNeutrinoSource, marley::GridNeutrinoSource, and marley::MonoNeutrinoSource.
Referenced by sample_incident_neutrino().
|
inlinestatic |
Returns true if the Particle Data Group code passed to the function is allowed to be used by a neutrino source object, and returns false otherwise.
Definition at line 333 of file NeutrinoSource.hh.
Referenced by NeutrinoSource().
|
virtual |
Samples an incident neutrino energy and loads pdg with the PDG code of the appropriate neutrino type.
This function uses a probability density function that represents the incident neutrino spectrum, i.e., it is not weighted by the reaction cross section(s). To sample a neutrino from the reacting (i.e., cross section weighted) spectrum, use Generator::sample_reaction().
| [out] | pdg | PDG code of the sampled neutrino |
| [in] | gen | Generator to use for random sampling |
Definition at line 57 of file NeutrinoSource.cc.
References get_Emax(), get_Emin(), pdf(), pid_, and marley::Generator::rejection_sample().
|
protected |
PDG particle ID for the neutrinos produced by this source.
Definition at line 88 of file NeutrinoSource.hh.
Referenced by NeutrinoSource(), get_pid(), marley::DecayAtRestNeutrinoSource::pdf(), and sample_incident_neutrino().