37#ifndef GENIE_FLUX_GFLUXBLENDER_H
38#define GENIE_FLUX_GFLUXBLENDER_H
73 long int Index (
void);
74 void Clear (Option_t * opt);
104 int ChooseFlavor(
int pdg_init,
double energy,
double dist);
GENIE Interface for user-defined flux classes.
GENIE interface for flavor modification.
GFlavorMixerI * GetFlavorMixer()
access, not ownership
bool GenerateNext(void)
generate the next flux neutrino (return false in err)
std::vector< double > fSumProb
cummulative probability
double fDistance
current neutrino's travel distance
int ChooseFlavor(int pdg_init, double energy, double dist)
bool End(void)
true if no more flux nu's can be thrown (eg reaching end of beam sim ntuples)
double fRndm
random # used to make choice
double fBaselineDist
travel dist for mixing (if flux doesn't support GetDecayDist())
GSimpleNtpFlux * fGSimpleFlux
ref to avoid repeat dynamic_cast
std::vector< double > fProb
individual transition probs
double TravelDist(void)
returns the distance used in the flavor mixing
const PDGCodeList & FluxParticles(void)
declare list of flux neutrinos that can be generated (for init. purposes)
GFluxI * GetFluxGenerator()
access, not ownership
double MaxEnergy(void)
declare the max flux neutrino energy that can be generated (for init. purposes)
int fPdgCMixed
current neutrino's new flavor
void GenerateWeighted(bool gen_weighted)
set whether to generate weighted or unweighted neutrinos
const TLorentzVector & Momentum(void)
returns the flux neutrino 4-momentum
void PrintState(bool verbose=true)
int PdgCode(void)
returns the flux neutrino pdg code
GFluxI * fRealGFluxI
actual flux generator
PDGCodeList fPDGListMixed
possible flavors after mixing
void Clear(Option_t *opt)
reset state variables based on opt
long int Index(void)
returns corresponding index for current flux neutrino (e.g. for a flux ntuple returns the current ent...
double fEnergy
current neutrino's energy
double Weight(void)
returns the flux neutrino weight (if any)
GFluxI * AdoptFluxGenerator(GFluxI *generator)
return previous
GNuMIFlux * fGNuMIFlux
ref to avoid repeat dynamic_cast
GFlavorMixerI * AdoptFlavorMixer(GFlavorMixerI *mixer)
return previous
PDGCodeList fPDGListGenerator
possible flavors from generator
int PdgCodeGenerated(void)
returns the flux neutrino original pdg code
const TLorentzVector & Position(void)
returns the flux neutrino 4-position (note: expect SI rather than physical units)
int fPdgCGenerated
current neutrino's original flavor
void SetBaselineDist(double dist)
double GetBaselineDist(void)
GFlavorMixerI * fFlavorMixer
flavor modification schema
A GENIE flux driver encapsulating the NuMI neutrino flux. It reads-in the official GNUMI neutrino flu...
A GENIE flux driver using a simple ntuple format.
THE MAIN GENIE PROJECT NAMESPACE