GENIEGenerator
|
GENIE interface for flavor modification. More...
#include <GFlavorMap.h>
Public Member Functions | |
GFlavorMap () | |
~GFlavorMap () | |
void | Config (std::string config) |
double | Probability (int pdg_initial, int pdg_final, double energy, double dist) |
void | PrintConfig (bool verbose=true) |
provide a means of printing the configuration More... | |
Public Member Functions inherited from genie::flux::GFlavorMixerI | |
GFlavorMixerI () | |
virtual | ~GFlavorMixerI () |
Private Member Functions | |
void | ParseMapString (std::string config) |
void | ParseFixedfracString (std::string config) |
int | PDG2Indx (int pdg) |
int | Indx2PDG (int indx) |
const char * | IndxName (int indx) |
const char * | NuName (int pdg) |
Private Attributes | |
double | fProb [7][7] |
GENIE interface for flavor modification.
Concrete instance of GFlavorMixerI that maps from one flavor to another independent of energy or distance. Users specify the transition probability from one flavor to any of the PDG codes { 0, 12, 14, 16, -12, -14, -16 } where 0 represents the complete disappearance (decay, sterile, ...). Probability is expected to be normalized (that is, the sum of all possible outcomes, including 0, must be 1). Supported config string formats: 1) " swap pdg1:pdg2 pdg3:pdg4 " Map all neutrinos of flavor "pdg1" to "pdg2", "pdg3" to "pdg4" Use PDG values { 0, 12, 14, 16, -12, -14, -16 } for { sterile, nu_e, nu_mu, nu_tau, nu_e_bar, ...} Unnamed initial flavors are left unmodified. Use numeric values with spaces only between pairs. Must start with the literal "swap" (FMWK note: param must be surrounded by explicit "'s) 2) " fixedfrac {pdg1:f0,f12,f14,f16,f-12,f-14,f-16} ..." For each group delineated by {}'s the map the "pdg1" by each pdg by the fraction given [0-1, sum=1]. So {12:0.5,0.5,0,0,0,0,0} means nu_e => 50/50% nu_e/nu_mu. Each list *must* have an int + 7 fractions.
Definition at line 51 of file GFlavorMap.h.
genie::flux::GFlavorMap::GFlavorMap | ( | ) |
genie::flux::GFlavorMap::~GFlavorMap | ( | ) |
Definition at line 42 of file GFlavorMap.cxx.
|
virtual |
each schema must take a string that configures it it is up to the individual model to parse said string and extract parameters (e.g. sin2th23, deltam12, etc)
Implements genie::flux::GFlavorMixerI.
Definition at line 45 of file GFlavorMap.cxx.
References LOG_BEGIN, LOG_END, ParseFixedfracString(), ParseMapString(), pINFO, pWARN, and genie::utils::str::TrimSpaces().
|
inlineprivate |
Definition at line 117 of file GFlavorMap.h.
Referenced by PrintConfig().
|
private |
|
inlineprivate |
|
private |
Definition at line 99 of file GFlavorMap.cxx.
References fProb, LOG_BEGIN, LOG_END, PDG2Indx(), pINFO, pWARN, genie::utils::str::Split(), and genie::utils::str::TrimSpaces().
Referenced by Config().
|
private |
Definition at line 69 of file GFlavorMap.cxx.
References fProb, LOG_BEGIN, LOG_END, PDG2Indx(), pINFO, pWARN, and genie::utils::str::Split().
Referenced by Config().
|
inlineprivate |
Definition at line 104 of file GFlavorMap.h.
Referenced by NuName(), ParseFixedfracString(), ParseMapString(), and Probability().
|
virtual |
provide a means of printing the configuration
Implements genie::flux::GFlavorMixerI.
Definition at line 154 of file GFlavorMap.cxx.
References fProb, Indx2PDG(), IndxName(), LOG_BEGIN, LOG_END, and pINFO.
|
virtual |
for any pair of PDG codes the model must calculate the transition probability. This can also depend on neutrino energy (in GeV) and distance (in meters) from the neutrino origin.
Implements genie::flux::GFlavorMixerI.
Definition at line 141 of file GFlavorMap.cxx.
References fProb, LOG_BEGIN, LOG_END, PDG2Indx(), and pINFO.
|
private |
Definition at line 87 of file GFlavorMap.h.
Referenced by GFlavorMap(), ParseFixedfracString(), ParseMapString(), PrintConfig(), and Probability().