|
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().
1.8.5