20 #ifndef _G_POWERLAW_FLUX_H_ 
   21 #define _G_POWERLAW_FLUX_H_ 
   26 #include <TLorentzVector.h> 
   40   GPowerLawFlux(
double alpha, 
double emin, 
double emax, 
int pdg);
 
   41   GPowerLawFlux(
double alpha, 
double emin, 
double emax, 
const map<int,double> & numap );
 
   52   bool                   End           (
void) { 
return  false;     }
 
   53   long int               Index         (
void) { 
return -1;         }
 
   54   void                   Clear            (Option_t * opt);
 
   65   void   Initialize (
double alpha, 
double emin, 
double emax, 
int pdg);
 
   66   void   Initialize (
double alpha, 
double emin, 
double emax, 
const map<int,double> & numap);
 
   88 #endif // _G_POWERLAW_FLUX_H_ 
void SetRayOrigin(double x, double y, double z)
const PDGCodeList & FluxParticles(void)
declare list of flux neutrinos that can be generated (for init. purposes) 
double Weight(void)
returns the flux neutrino weight (if any) 
bool End(void)
true if no more flux nu's can be thrown (eg reaching end of beam sim ntuples) 
int PdgCode(void)
returns the flux neutrino pdg code 
map< int, double > fProb
cumulative probability of neutrino types 
A simple GENIE flux driver for neutrinos following a power law spectrum. Can handle a mix of neutrino...
PDGCodeList * fPdgCList
list of neutrino pdg-codes 
double fSpectralIndex
spectral index (E^{-alpha}) 
const TLorentzVector & Momentum(void)
returns the flux neutrino 4-momentum 
TLorentzVector fgX4
running generated nu 4-position 
void Clear(Option_t *opt)
reset state variables based on opt 
double fMaxEv
maximum energy 
long int Index(void)
returns corresponding index for current flux neutrino (e.g. for a flux ntuple returns the current ent...
bool GenerateNext(void)
generate the next flux neutrino (return false in err) 
void SetNuDirection(const TVector3 &direction)
void SetDirectionCos(double dx, double dy, double dz)
int fgPdgC
running generated nu pdg-code 
void GenerateWeighted(bool gen_weighted)
set whether to generate weighted or unweighted neutrinos 
void SetBeamSpot(const TVector3 &spot)
double MaxEnergy(void)
declare the max flux neutrino energy that can be generated (for init. purposes) 
void Initialize(double alpha, double emin, double emax, int pdg)
const TLorentzVector & Position(void)
returns the flux neutrino 4-position (note: expect SI rather than physical units) ...
double fMinEv
minimum energy 
GENIE Interface for user-defined flux classes. 
TLorentzVector fgP4
running generated nu 4-momentum