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