|
GENIEGenerator
|
List of cross section vs energy splines. More...
#include <XSecSplineList.h>
Classes | |
| struct | Cleaner |
Public Member Functions | |
| void | SaveAsXml (const string &filename, bool save_init=true) const |
| XmlParserStatus_t | LoadFromXml (const string &filename, bool keep=false) |
| void | Print (ostream &stream) const |
| void | SetCurrentTune (const string &tune) |
| string | CurrentTune (void) const |
| bool | HasSplineFromTune (const string &tune) const |
| bool | SplineExists (const XSecAlgorithmI *alg, const Interaction *i) const |
| bool | SplineExists (string spline_key) const |
| const Spline * | GetSpline (const XSecAlgorithmI *alg, const Interaction *i) const |
| const Spline * | GetSpline (string spline_key) const |
| void | CreateSpline (const XSecAlgorithmI *alg, const Interaction *i, int nknots=-1, double e_min=-1, double e_max=-1) |
| int | NSplines (void) const |
| bool | IsEmpty (void) const |
| string | BuildSplineKey (const XSecAlgorithmI *alg, const Interaction *i) const |
| const vector< string > * | GetSplineKeys (void) const |
| void | SetLogE (bool on) |
| set opt to build splines as f(E) or as f(logE) | |
| void | SetNKnots (int nk) |
| set default number of knots for building the spline | |
| void | SetMinE (double Ev) |
| set default minimum energy for xsec splines | |
| void | SetMaxE (double Ev) |
| set default maximum energy for xsec splines | |
| bool | UseLogE (void) const |
| int | NKnots (void) const |
| double | Emin (void) const |
| double | Emax (void) const |
Static Public Member Functions | |
| static XSecSplineList * | Instance () |
Private Member Functions | |
| XSecSplineList () | |
| XSecSplineList (const XSecSplineList &spline_list) | |
| virtual | ~XSecSplineList () |
Private Attributes | |
| bool | fUseLogE |
| int | fNKnots |
| double | fEmin |
| double | fEmax |
| string | fCurrentTune |
| The ‘active’ tune, out the many that can co-exist. | |
| map< string, map< string, Spline * > > | fSplineMap |
| tune -> { xsec_alg/xsec_config/interaction -> Spline } | |
| map< string, set< string > > | fLoadedSplineSet |
| tune -> { set of initialy loaded splines } | |
Static Private Attributes | |
| static XSecSplineList * | fInstance = 0 |
Friends | |
| struct | Cleaner |
| ostream & | operator<< (ostream &stream, const XSecSplineList &xsl) |
List of cross section vs energy splines.
Definition at line 45 of file XSecSplineList.h.
|
private |
Definition at line 52 of file XSecSplineList.cxx.
References fCurrentTune, fEmax, fEmin, fInstance, fNKnots, and fUseLogE.
Referenced by Instance(), operator<<, and XSecSplineList().
|
private |
References XSecSplineList().
|
privatevirtual |
Definition at line 62 of file XSecSplineList.cxx.
References fInstance, and fSplineMap.
| string genie::XSecSplineList::BuildSplineKey | ( | const XSecAlgorithmI * | alg, |
| const Interaction * | i ) const |
Definition at line 539 of file XSecSplineList.cxx.
References genie::Interaction::AsString(), genie::AlgId::Config(), genie::Algorithm::Id(), LOG, genie::AlgId::Name(), and pWARN.
Referenced by CreateSpline(), GetSpline(), and SplineExists().
| void genie::XSecSplineList::CreateSpline | ( | const XSecAlgorithmI * | alg, |
| const Interaction * | i, | ||
| int | nknots = -1, | ||
| double | e_min = -1, | ||
| double | e_max = -1 ) |
Definition at line 160 of file XSecSplineList.cxx.
References BuildSplineKey(), genie::units::cm2, Emax(), Emin(), fCurrentTune, fSplineMap, genie::Interaction::InitStatePtr(), genie::XSecAlgorithmI::Integral(), NKnots(), pFATAL, genie::Interaction::PhaseSpace(), pNOTICE, genie::InitialState::Probe(), pWARN, genie::InitialState::SetProbeP4(), SLOG, genie::KPhaseSpace::Threshold(), and UseLogE().
Referenced by genie::GEVGDriver::CreateSplines().
|
inline |
|
inline |
|
inline |
| const Spline * genie::XSecSplineList::GetSpline | ( | const XSecAlgorithmI * | alg, |
| const Interaction * | i ) const |
Definition at line 124 of file XSecSplineList.cxx.
References BuildSplineKey(), and GetSpline().
Referenced by GetSpline(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::DISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::SPPXSec::Integrate(), genie::PhysInteractionSelector::SelectInteraction(), genie::GEVGDriver::XSecSpline(), and genie::GEVGDriver::XSecSum().
| const Spline * genie::XSecSplineList::GetSpline | ( | string | spline_key | ) | const |
Definition at line 131 of file XSecSplineList.cxx.
References fCurrentTune, fSplineMap, pDEBUG, pFATAL, pWARN, and SLOG.
| const vector< string > * genie::XSecSplineList::GetSplineKeys | ( | void | ) | const |
Definition at line 563 of file XSecSplineList.cxx.
References fCurrentTune, fSplineMap, pWARN, and SLOG.
|
inline |
|
static |
Definition at line 82 of file XSecSplineList.cxx.
References genie::XSecSplineList::Cleaner::DummyMethodAndSilentCompiler(), fInstance, and XSecSplineList().
Referenced by genie::RunOpt::BuildTune(), genie::SPPXSecWithCache::CacheResExcitationXSec(), Configure(), genie::GEVGDriver::CreateSplines(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::DISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::SPPXSec::Integrate(), LoadSplines(), main(), genie::PhysInteractionSelector::SelectInteraction(), genie::GEVGDriver::UseSplines(), genie::GEVGDriver::XSecSpline(), genie::GEVGDriver::XSecSum(), and genie::utils::app_init::XSecTable().
| bool genie::XSecSplineList::IsEmpty | ( | void | ) | const |
Definition at line 312 of file XSecSplineList.cxx.
References NSplines().
Referenced by genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::DISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), and genie::SPPXSec::Integrate().
| XmlParserStatus_t genie::XSecSplineList::LoadFromXml | ( | const string & | filename, |
| bool | keep = false ) |
Load XSecSplineList from ROOT file. If keep = true, then the loaded splines are added to the existing list. If false, then the existing list is reset before loading the splines.
Definition at line 402 of file XSecSplineList.cxx.
References fLoadedSplineSet, fSplineMap, genie::kXmlInvalidRoot, genie::kXmlNotParsed, genie::kXmlOK, LOG, pDEBUG, pERROR, pINFO, pNOTICE, SetLogE(), SLOG, and genie::utils::str::TrimSpaces().
Referenced by LoadSplines(), main(), and genie::utils::app_init::XSecTable().
|
inline |
| int genie::XSecSplineList::NSplines | ( | void | ) | const |
Definition at line 299 of file XSecSplineList.cxx.
References fCurrentTune, fSplineMap, pWARN, and SLOG.
Referenced by IsEmpty().
| void genie::XSecSplineList::Print | ( | ostream & | stream | ) | const |
Definition at line 583 of file XSecSplineList.cxx.
References fEmax, fEmin, fNKnots, fSplineMap, and fUseLogE.
Referenced by operator<<.
| void genie::XSecSplineList::SaveAsXml | ( | const string & | filename, |
| bool | save_init = true ) const |
Save XSecSplineList to XML file
Definition at line 339 of file XSecSplineList.cxx.
References fLoadedSplineSet, fSplineMap, fUseLogE, pERROR, pNOTICE, genie::Spline::SaveAsXml(), and SLOG.
Referenced by main().
|
inline |
Definition at line 62 of file XSecSplineList.h.
References fCurrentTune.
Referenced by genie::RunOpt::BuildTune().
| void genie::XSecSplineList::SetLogE | ( | bool | on | ) |
set opt to build splines as f(E) or as f(logE)
Definition at line 318 of file XSecSplineList.cxx.
References fUseLogE.
Referenced by genie::GEVGDriver::CreateSplines(), and LoadFromXml().
| void genie::XSecSplineList::SetMaxE | ( | double | Ev | ) |
set default maximum energy for xsec splines
Definition at line 334 of file XSecSplineList.cxx.
References fEmax.
| void genie::XSecSplineList::SetMinE | ( | double | Ev | ) |
set default minimum energy for xsec splines
Definition at line 329 of file XSecSplineList.cxx.
References fEmin.
| void genie::XSecSplineList::SetNKnots | ( | int | nk | ) |
| bool genie::XSecSplineList::SplineExists | ( | const XSecAlgorithmI * | alg, |
| const Interaction * | i ) const |
Definition at line 92 of file XSecSplineList.cxx.
References BuildSplineKey(), and SplineExists().
Referenced by genie::GEVGDriver::CreateSplines(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::DISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::SPPXSec::Integrate(), genie::PhysInteractionSelector::SelectInteraction(), SplineExists(), genie::GEVGDriver::UseSplines(), and genie::GEVGDriver::XSecSum().
| bool genie::XSecSplineList::SplineExists | ( | string | spline_key | ) | const |
Definition at line 99 of file XSecSplineList.cxx.
References genie::utils::print::BoolAsYNString(), fCurrentTune, fSplineMap, pDEBUG, pERROR, pWARN, and SLOG.
|
inline |
|
friend |
Definition at line 120 of file XSecSplineList.h.
|
friend |
Definition at line 44 of file XSecSplineList.cxx.
References Print(), and XSecSplineList().
|
private |
The ‘active’ tune, out the many that can co-exist.
Definition at line 106 of file XSecSplineList.h.
Referenced by CreateSpline(), CurrentTune(), GetSpline(), GetSplineKeys(), NSplines(), SetCurrentTune(), SplineExists(), and XSecSplineList().
|
private |
Definition at line 104 of file XSecSplineList.h.
Referenced by Emax(), Print(), SetMaxE(), and XSecSplineList().
|
private |
Definition at line 103 of file XSecSplineList.h.
Referenced by Emin(), Print(), SetMinE(), and XSecSplineList().
|
staticprivate |
Definition at line 99 of file XSecSplineList.h.
Referenced by Instance(), XSecSplineList(), genie::XSecSplineList::Cleaner::~Cleaner(), and ~XSecSplineList().
|
private |
tune -> { set of initialy loaded splines }
Definition at line 109 of file XSecSplineList.h.
Referenced by LoadFromXml(), and SaveAsXml().
|
private |
Definition at line 102 of file XSecSplineList.h.
Referenced by NKnots(), Print(), SetNKnots(), and XSecSplineList().
|
private |
tune -> { xsec_alg/xsec_config/interaction -> Spline }
Definition at line 108 of file XSecSplineList.h.
Referenced by CreateSpline(), GetSpline(), GetSplineKeys(), HasSplineFromTune(), LoadFromXml(), NSplines(), Print(), SaveAsXml(), SplineExists(), and ~XSecSplineList().
|
private |
Definition at line 101 of file XSecSplineList.h.
Referenced by Print(), SaveAsXml(), SetLogE(), UseLogE(), and XSecSplineList().