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