|
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 | |
| EventRecord * | fCurrentRecord |
| ptr to the event record being processed | |
| EventGeneratorList * | fEvGenList |
| all Event Generators available at this job | |
| InteractionSelectorI * | fIntSelector |
| interaction selector | |
| InteractionGeneratorMap * | fIntGenMap |
| interaction -> generator assosiative container | |
| TBits * | fUnphysEventMask |
| controls whether unphysical events are returned | |
| bool | fUseSplines |
| controls whether xsecs are computed or interpolated | |
| Spline * | fXSecSumSpl |
| sum{xsec(all interactions | this init state)} | |
| unsigned int | fNRecLevel |
| recursive mode depth counter | |
| string | fEventGenList |
| list of event generators loaded by this driver (what used to be the $GEVGL setting) | |
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 | ( | ) |
| GEVGDriver::~GEVGDriver | ( | ) |
|
private |
Definition at line 704 of file GEVGDriver.cxx.
References fInitState, genie::pdg::IsAntiDarkMatter(), genie::pdg::IsDarkMatter(), and genie::pdg::IsLepton().
Referenced by BuildInitialState().
|
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(), fEventGenList, fEvGenList, LOG, and pINFO.
Referenced by Configure().
|
private |
Definition at line 166 of file GEVGDriver.cxx.
References AssertIsValidInitState(), fInitState, LOG, and pINFO.
Referenced by Configure().
|
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 fEvGenList, fInitState, fIntGenMap, LOG, pDEBUG, pINFO, and genie::utils::print::PrintFramedMesg().
Referenced by Configure().
|
private |
Definition at line 208 of file GEVGDriver.cxx.
References genie::AlgFactory::AdoptAlgorithm(), fIntSelector, genie::AlgFactory::Instance(), LOG, and pINFO.
Referenced by Configure().
|
private |
Definition at line 121 of file GEVGDriver.cxx.
References fEvGenList, fInitState, fIntGenMap, fIntSelector, fUnphysEventMask, and fXSecSumSpl.
Referenced by Reset(), and ~GEVGDriver().
| void GEVGDriver::Configure | ( | const InitialState & | init_state | ) |
Definition at line 145 of file GEVGDriver.cxx.
References genie::InitialState::AsString(), BuildGeneratorList(), BuildInitialState(), BuildInteractionGeneratorMap(), BuildInteractionSelector(), fEventGenList, LOG, pINFO, pNOTICE, genie::utils::print::PrintFramedMesg(), genie::InitialState::ProbePdg(), and genie::InitialState::TgtPdg().
| void GEVGDriver::Configure | ( | int | nu_pdgc, |
| int | Z, | ||
| int | A ) |
Definition at line 137 of file GEVGDriver.cxx.
References Configure().
Referenced by Configure(), Configure(), GenerateEventsAtFixedInitState(), GetEventGenDriver(), main(), and genie::GMCJDriver::PopulateEventGenDriverPool().
| 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(), fEvGenList, fInitState, fUseSplines, 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, fUseSplines, fXSecSumSpl, LOG, pFATAL, pINFO, and XSecSum().
Referenced by genie::GMCJDriver::BootstrapXSecSplineSummation(), CalcTotalXSec(), and GetEventGenDriver().
|
inline |
| const EventGeneratorI * GEVGDriver::FindGenerator | ( | const Interaction * | interaction | ) | const |
Definition at line 357 of file GEVGDriver.cxx.
References fIntGenMap, LOG, and pWARN.
Referenced by main().
| EventRecord * GEVGDriver::GenerateEvent | ( | const TLorentzVector & | nu4p | ) |
Definition at line 228 of file GEVGDriver.cxx.
References genie::InitialState::AsString(), fCurrentRecord, fInitState, fIntGenMap, fIntSelector, fNRecLevel, fUnphysEventMask, 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(), GenerateEvent(), genie::GMCJDriver::GenerateEventKinematics(), and GenerateEventsAtFixedInitState().
|
private |
Definition at line 67 of file GEVGDriver.cxx.
References fCurrentRecord, fEventGenList, fEvGenList, fInitState, fIntGenMap, fIntSelector, fNRecLevel, fUnphysEventMask, fUseSplines, fXSecSumSpl, LOG, genie::GHepFlags::NFlags(), and pNOTICE.
Referenced by GEVGDriver(), and Reset().
| const InteractionList * GEVGDriver::Interactions | ( | void | ) | const |
Definition at line 334 of file GEVGDriver.cxx.
References fIntGenMap, LOG, and pWARN.
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(), fInitState, fUnphysEventMask, fUseSplines, and genie::GHepFlags::NFlags().
Referenced by operator<<.
| void GEVGDriver::Reset | ( | void | ) |
| void GEVGDriver::SetEventGeneratorList | ( | string | listname | ) |
Definition at line 348 of file GEVGDriver.cxx.
References fEventGenList, LOG, and pNOTICE.
Referenced by GenerateEventsAtFixedInitState(), GetEventGenDriver(), main(), and genie::GMCJDriver::PopulateEventGenDriverPool().
| void GEVGDriver::SetUnphysEventMask | ( | const TBits & | mask | ) |
Definition at line 219 of file GEVGDriver.cxx.
References fUnphysEventMask, 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(), fIntGenMap, fUseSplines, 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(), fEvGenList, 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 fIntGenMap, fUseSplines, 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(), fInitState, fIntGenMap, fUseSplines, 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().
Referenced by CreateXSecSumSpline().
|
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.
References GEVGDriver(), and Print().
|
private |
ptr to the event record being processed
Definition at line 119 of file GEVGDriver.h.
Referenced by GenerateEvent(), and Init().
|
private |
list of event generators loaded by this driver (what used to be the $GEVGL setting)
Definition at line 127 of file GEVGDriver.h.
Referenced by BuildGeneratorList(), Configure(), Init(), and SetEventGeneratorList().
|
private |
all Event Generators available at this job
Definition at line 120 of file GEVGDriver.h.
Referenced by BuildGeneratorList(), BuildInteractionGeneratorMap(), CleanUp(), CreateSplines(), EventGenerators(), Init(), and ValidEnergyRange().
|
private |
initial state information for driver instance
Definition at line 118 of file GEVGDriver.h.
Referenced by AssertIsValidInitState(), BuildInitialState(), BuildInteractionGeneratorMap(), CleanUp(), CreateSplines(), GenerateEvent(), Init(), Print(), and XSecSum().
|
private |
interaction -> generator assosiative container
Definition at line 122 of file GEVGDriver.h.
Referenced by BuildInteractionGeneratorMap(), CleanUp(), FindGenerator(), GenerateEvent(), Init(), Interactions(), UseSplines(), XSecSpline(), and XSecSum().
|
private |
interaction selector
Definition at line 121 of file GEVGDriver.h.
Referenced by BuildInteractionSelector(), CleanUp(), GenerateEvent(), and Init().
|
private |
recursive mode depth counter
Definition at line 126 of file GEVGDriver.h.
Referenced by GenerateEvent(), and Init().
|
private |
controls whether unphysical events are returned
Definition at line 123 of file GEVGDriver.h.
Referenced by CleanUp(), GenerateEvent(), Init(), Print(), and SetUnphysEventMask().
|
private |
controls whether xsecs are computed or interpolated
Definition at line 124 of file GEVGDriver.h.
Referenced by CreateSplines(), CreateXSecSumSpline(), Init(), Print(), UseSplines(), XSecSpline(), and XSecSum().
|
private |
sum{xsec(all interactions | this init state)}
Definition at line 125 of file GEVGDriver.h.
Referenced by CleanUp(), CreateXSecSumSpline(), Init(), and XSecSumSpline().