24 #ifndef _GEVG_DRIVER_H_
25 #define _GEVG_DRIVER_H_
30 #include <TLorentzVector.h>
42 class EventGeneratorList;
43 class EventGeneratorI;
44 class InteractionSelectorI;
45 class InteractionGeneratorMap;
46 class InteractionList;
52 ostream &
operator << (ostream & stream,
const GEVGDriver & driver);
91 void CreateSplines (
int nknots=-1,
double emax=-1,
bool inLogE=
true);
94 double XSecSum (
const TLorentzVector & nup4);
102 void Print (ostream & stream)
const;
EventRecord * fCurrentRecord
ptr to the event record being processed
void Print(ostream &stream) const
void CreateXSecSumSpline(int nk, double Emin, double Emax, bool inlogE=true)
A simple [min,max] interval for doubles.
const EventGeneratorI * FindGenerator(const Interaction *interaction) const
A numeric analysis tool class for interpolating 1-D functions.
string fEventGenList
list of event generators loaded by this driver (what used to be the $GEVGL setting) ...
Defines the EventGeneratorI interface.
friend ostream & operator<<(ostream &stream, const GEVGDriver &driver)
unsigned int fNRecLevel
recursive mode depth counter
void BuildInteractionGeneratorMap(void)
const Spline * XSecSumSpline(void) const
InteractionSelectorI * fIntSelector
interaction selector
const EventGeneratorList * EventGenerators(void) const
Range1D_t ValidEnergyRange(void) const
Summary information for an interaction.
An Interaction -> EventGeneratorI associative container. The container is being built for the loaded ...
void SetEventGeneratorList(string listname)
TBits * fUnphysEventMask
controls whether unphysical events are returned
const InteractionList * Interactions(void) const
static constexpr double A
double XSecSum(const TLorentzVector &nup4)
GENIE Event Generation Driver. A minimalist user interface object for generating neutrino interaction...
InitialState * fInitState
initial state information for driver instance
void BuildGeneratorList(void)
Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI...
Defines the InteractionSelectorI interface to be implemented by algorithms selecting interactions to ...
void BuildInteractionSelector(void)
const Spline * XSecSpline(const Interaction *interaction) const
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)
Spline * fXSecSumSpl
sum{xsec(all interactions | this init state)}
InteractionGeneratorMap * fIntGenMap
interaction -> generator assosiative container
void Configure(int nu_pdgc, int Z, int A)
A vector of Interaction objects.
A vector of EventGeneratorI objects.
void CreateSplines(int nknots=-1, double emax=-1, bool inLogE=true)
void SetUnphysEventMask(const TBits &mask)
EventGeneratorList * fEvGenList
all Event Generators available at this job
void AssertIsValidInitState(void) const
bool fUseSplines
controls whether xsecs are computed or interpolated
Initial State information.
EventRecord * GenerateEvent(const TLorentzVector &nu4p)
void BuildInitialState(const InitialState &init_state)