GENIEGenerator
|
GENIE Event Generation Driver. A minimalist user interface object for generating neutrino interactions. Each such object is configured for a given initial state and it drives all relevant GENIE neutrino interaction physics simulation code for that state. To set-up MC jobs involving a multitude of possible initial states, including arbitrarily complex neutrino flux and detector geometry descriptions, see the GMCJDriver object. More...
#include <GEVGDriver.h>
Public Member Functions | |
GEVGDriver () | |
~GEVGDriver () | |
void | UseSplines (void) |
void | SetEventGeneratorList (string listname) |
void | SetUnphysEventMask (const TBits &mask) |
void | Configure (int nu_pdgc, int Z, int A) |
void | Configure (const InitialState &init_state) |
EventRecord * | GenerateEvent (const TLorentzVector &nu4p) |
const InteractionList * | Interactions (void) const |
const EventGeneratorList * | EventGenerators (void) const |
const EventGeneratorI * | FindGenerator (const Interaction *interaction) const |
const Spline * | XSecSumSpline (void) const |
const Spline * | XSecSpline (const Interaction *interaction) const |
void | CreateSplines (int nknots=-1, double emax=-1, bool inLogE=true) |
double | XSecSum (const TLorentzVector &nup4) |
void | CreateXSecSumSpline (int nk, double Emin, double Emax, bool inlogE=true) |
Range1D_t | ValidEnergyRange (void) const |
void | Reset (void) |
void | Print (ostream &stream) const |
Private Member Functions | |
void | Init (void) |
void | CleanUp (void) |
void | BuildInitialState (const InitialState &init_state) |
void | BuildGeneratorList (void) |
void | BuildInteractionGeneratorMap (void) |
void | BuildInteractionSelector (void) |
void | AssertIsValidInitState (void) const |
Private Attributes | |
InitialState * | fInitState |
initial state information for driver instance More... | |
EventRecord * | fCurrentRecord |
ptr to the event record being processed More... | |
EventGeneratorList * | fEvGenList |
all Event Generators available at this job More... | |
InteractionSelectorI * | fIntSelector |
interaction selector More... | |
InteractionGeneratorMap * | fIntGenMap |
interaction -> generator assosiative container More... | |
TBits * | fUnphysEventMask |
controls whether unphysical events are returned More... | |
bool | fUseSplines |
controls whether xsecs are computed or interpolated More... | |
Spline * | fXSecSumSpl |
sum{xsec(all interactions | this init state)} More... | |
unsigned int | fNRecLevel |
recursive mode depth counter More... | |
string | fEventGenList |
list of event generators loaded by this driver (what used to be the $GEVGL setting) More... | |
Friends | |
ostream & | operator<< (ostream &stream, const GEVGDriver &driver) |
GENIE Event Generation Driver. A minimalist user interface object for generating neutrino interactions. Each such object is configured for a given initial state and it drives all relevant GENIE neutrino interaction physics simulation code for that state. To set-up MC jobs involving a multitude of possible initial states, including arbitrarily complex neutrino flux and detector geometry descriptions, see the GMCJDriver object.
Definition at line 54 of file GEVGDriver.h.
GEVGDriver::GEVGDriver | ( | ) |
Definition at line 57 of file GEVGDriver.cxx.
References Init().
GEVGDriver::~GEVGDriver | ( | ) |
Definition at line 62 of file GEVGDriver.cxx.
|
private |
Definition at line 704 of file GEVGDriver.cxx.
References genie::pdg::IsAntiDarkMatter(), genie::pdg::IsDarkMatter(), and genie::pdg::IsLepton().
|
private |
Load event generators. The list of event generators is named by fEventGenList.
Definition at line 176 of file GEVGDriver.cxx.
References genie::EventGeneratorListAssembler::AssembleGeneratorList(), LOG, and pINFO.
|
private |
Definition at line 166 of file GEVGDriver.cxx.
|
private |
Map each possible interaction, for the given initial state, to one of the generators loaded up
Definition at line 189 of file GEVGDriver.cxx.
References LOG, pDEBUG, pINFO, genie::utils::print::PrintFramedMesg(), and genie::InteractionGeneratorMap::UseGeneratorList().
|
private |
Definition at line 208 of file GEVGDriver.cxx.
References genie::AlgFactory::AdoptAlgorithm(), genie::AlgFactory::Instance(), LOG, and pINFO.
|
private |
Definition at line 121 of file GEVGDriver.cxx.
void GEVGDriver::Configure | ( | int | nu_pdgc, |
int | Z, | ||
int | A | ||
) |
Definition at line 137 of file GEVGDriver.cxx.
References Configure().
Referenced by Configure(), GenerateEventsAtFixedInitState(), GetEventGenDriver(), main(), and genie::GMCJDriver::PopulateEventGenDriverPool().
void GEVGDriver::Configure | ( | const InitialState & | init_state | ) |
Definition at line 145 of file GEVGDriver.cxx.
References genie::InitialState::AsString(), LOG, pINFO, pNOTICE, genie::utils::print::PrintFramedMesg(), genie::InitialState::ProbePdg(), and genie::InitialState::TgtPdg().
void GEVGDriver::CreateSplines | ( | int | nknots = -1 , |
double | emax = -1 , |
||
bool | inLogE = true |
||
) |
Definition at line 577 of file GEVGDriver.cxx.
References genie::Interaction::AsString(), genie::InteractionListGeneratorI::CreateInteractionList(), genie::XSecSplineList::CreateSpline(), genie::EventGeneratorI::CrossSectionAlg(), genie::GVldContext::Emax(), genie::GVldContext::Emin(), genie::Algorithm::Id(), genie::XSecSplineList::Instance(), genie::EventGeneratorI::IntListGenerator(), genie::AlgId::Key(), LOG, pDEBUG, pINFO, pWARN, genie::XSecSplineList::SetLogE(), SLOG, genie::XSecSplineList::SplineExists(), and genie::EventGeneratorI::ValidityContext().
Referenced by genie::GMCJDriver::BootstrapXSecSplines(), GetEventGenDriver(), and main().
void GEVGDriver::CreateXSecSumSpline | ( | int | nk, |
double | Emin, | ||
double | Emax, | ||
bool | inlogE = true |
||
) |
Definition at line 440 of file GEVGDriver.cxx.
References e, LOG, pFATAL, and pINFO.
Referenced by genie::GMCJDriver::BootstrapXSecSplineSummation(), CalcTotalXSec(), and GetEventGenDriver().
|
inline |
Definition at line 80 of file GEVGDriver.h.
References fEvGenList.
const EventGeneratorI * GEVGDriver::FindGenerator | ( | const Interaction * | interaction | ) | const |
Definition at line 357 of file GEVGDriver.cxx.
Referenced by main().
EventRecord * GEVGDriver::GenerateEvent | ( | const TLorentzVector & | nu4p | ) |
Definition at line 228 of file GEVGDriver.cxx.
References genie::InitialState::AsString(), GenerateEvent(), genie::Algorithm::Id(), genie::RunningThreadInfo::Instance(), genie::AlgId::Key(), genie::controls::kRecursiveModeMaxDepth, LOG, pDEBUG, pERROR, pINFO, pNOTICE, genie::utils::print::PrintFramedMesg(), genie::EventRecordVisitorI::ProcessEventRecord(), pWARN, genie::InitialState::SetProbeP4(), and genie::RunningThreadInfo::UpdateRunningThread().
Referenced by GenerateEvent(), genie::GMCJDriver::GenerateEventKinematics(), and GenerateEventsAtFixedInitState().
|
private |
Definition at line 67 of file GEVGDriver.cxx.
References LOG, genie::GHepFlags::NFlags(), and pNOTICE.
const InteractionList * GEVGDriver::Interactions | ( | void | ) | const |
Definition at line 334 of file GEVGDriver.cxx.
Referenced by main(), SaveGraphsToRootFile(), and SaveToPsFile().
void GEVGDriver::Print | ( | ostream & | stream | ) | const |
Definition at line 712 of file GEVGDriver.cxx.
References genie::utils::print::BoolAsIOString(), and genie::GHepFlags::NFlags().
Referenced by genie::operator<<().
void GEVGDriver::Reset | ( | void | ) |
void GEVGDriver::SetEventGeneratorList | ( | string | listname | ) |
Definition at line 348 of file GEVGDriver.cxx.
Referenced by GenerateEventsAtFixedInitState(), GetEventGenDriver(), main(), and genie::GMCJDriver::PopulateEventGenDriverPool().
void GEVGDriver::SetUnphysEventMask | ( | const TBits & | mask | ) |
Definition at line 219 of file GEVGDriver.cxx.
References LOG, genie::GHepFlags::NFlags(), and pNOTICE.
Referenced by genie::GMCJDriver::GenerateEventKinematics(), and GenerateEventsAtFixedInitState().
void GEVGDriver::UseSplines | ( | void | ) |
Definition at line 508 of file GEVGDriver.cxx.
References genie::Interaction::AsString(), genie::Algorithm::Id(), genie::XSecSplineList::Instance(), genie::AlgId::Key(), LOG, pWARN, and genie::XSecSplineList::SplineExists().
Referenced by Configure(), and genie::GMCJDriver::PopulateEventGenDriverPool().
Range1D_t GEVGDriver::ValidEnergyRange | ( | void | ) | const |
Definition at line 674 of file GEVGDriver.cxx.
References genie::GVldContext::Emax(), genie::GVldContext::Emin(), genie::Range1D_t::max, genie::Range1D_t::min, and genie::EventGeneratorI::ValidityContext().
Referenced by genie::GMCJDriver::BootstrapXSecSplineSummation().
const Spline * GEVGDriver::XSecSpline | ( | const Interaction * | interaction | ) | const |
Definition at line 488 of file GEVGDriver.cxx.
References genie::XSecSplineList::GetSpline(), and genie::XSecSplineList::Instance().
Referenced by SaveGraphsToRootFile(), and SaveToPsFile().
double GEVGDriver::XSecSum | ( | const TLorentzVector & | nup4 | ) |
Definition at line 373 of file GEVGDriver.cxx.
References genie::Interaction::AsString(), genie::units::cm2, genie::Spline::Evaluate(), genie::PDGLibrary::Find(), genie::XSecSplineList::GetSpline(), genie::Interaction::InitStatePtr(), genie::PDGLibrary::Instance(), genie::XSecSplineList::Instance(), genie::XSecAlgorithmI::Integral(), LOG, pDEBUG, pINFO, genie::InitialState::SetProbeP4(), SLOG, and genie::XSecSplineList::SplineExists().
|
inline |
Definition at line 87 of file GEVGDriver.h.
References fXSecSumSpl.
Referenced by CalcTotalXSec(), genie::GMCJDriver::ComputeInteractionProbabilities(), genie::GMCJDriver::ComputeProbScales(), and SaveToPsFile().
|
friend |
Definition at line 50 of file GEVGDriver.cxx.
|
private |
ptr to the event record being processed
Definition at line 119 of file GEVGDriver.h.
|
private |
list of event generators loaded by this driver (what used to be the $GEVGL setting)
Definition at line 127 of file GEVGDriver.h.
|
private |
all Event Generators available at this job
Definition at line 120 of file GEVGDriver.h.
Referenced by EventGenerators().
|
private |
initial state information for driver instance
Definition at line 118 of file GEVGDriver.h.
|
private |
interaction -> generator assosiative container
Definition at line 122 of file GEVGDriver.h.
|
private |
interaction selector
Definition at line 121 of file GEVGDriver.h.
|
private |
recursive mode depth counter
Definition at line 126 of file GEVGDriver.h.
|
private |
controls whether unphysical events are returned
Definition at line 123 of file GEVGDriver.h.
|
private |
controls whether xsecs are computed or interpolated
Definition at line 124 of file GEVGDriver.h.
|
private |
sum{xsec(all interactions | this init state)}
Definition at line 125 of file GEVGDriver.h.
Referenced by XSecSumSpline().