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) More... | |
void | SetNKnots (int nk) |
set default number of knots for building the spline More... | |
void | SetMinE (double Ev) |
set default minimum energy for xsec splines More... | |
void | SetMaxE (double Ev) |
set default maximum energy for xsec splines More... | |
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. More... | |
map< string, map< string, Spline * > > | fSplineMap |
tune -> { xsec_alg/xsec_config/interaction -> Spline } More... | |
map< string, set< string > > | fLoadedSplineSet |
tune -> { set of initialy loaded splines } More... | |
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.
|
private |
|
privatevirtual |
Definition at line 62 of file XSecSplineList.cxx.
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.
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 genie::units::cm2, genie::Interaction::InitStatePtr(), genie::XSecAlgorithmI::Integral(), pFATAL, genie::Interaction::PhaseSpace(), pNOTICE, genie::InitialState::Probe(), pWARN, genie::InitialState::SetProbeP4(), SLOG, and genie::KPhaseSpace::Threshold().
Referenced by genie::GEVGDriver::CreateSplines().
|
inline |
Definition at line 63 of file XSecSplineList.h.
References fCurrentTune.
|
inline |
|
inline |
const Spline * genie::XSecSplineList::GetSpline | ( | const XSecAlgorithmI * | alg, |
const Interaction * | i | ||
) | const |
Definition at line 124 of file XSecSplineList.cxx.
Referenced by genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::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 pDEBUG, pFATAL, pWARN, and SLOG.
const vector< string > * genie::XSecSplineList::GetSplineKeys | ( | void | ) | const |
Definition at line 563 of file XSecSplineList.cxx.
|
inline |
Definition at line 64 of file XSecSplineList.h.
References fSplineMap.
|
static |
Definition at line 82 of file XSecSplineList.cxx.
References genie::XSecSplineList::Cleaner::DummyMethodAndSilentCompiler().
Referenced by genie::RunOpt::BuildTune(), genie::SPPXSecWithCache::CacheResExcitationXSec(), Configure(), genie::GEVGDriver::CreateSplines(), genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::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.
Referenced by genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), and genie::ReinSehgalRESXSecFast::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 genie::kXmlInvalidRoot, genie::kXmlNotParsed, genie::kXmlOK, LOG, pDEBUG, pERROR, pINFO, pNOTICE, 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.
void genie::XSecSplineList::Print | ( | ostream & | stream | ) | const |
Definition at line 583 of file XSecSplineList.cxx.
Referenced by genie::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 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.
Referenced by genie::GEVGDriver::CreateSplines().
void genie::XSecSplineList::SetMaxE | ( | double | Ev | ) |
void genie::XSecSplineList::SetMinE | ( | double | Ev | ) |
void genie::XSecSplineList::SetNKnots | ( | int | nk | ) |
set default number of knots for building the spline
Definition at line 323 of file XSecSplineList.cxx.
bool genie::XSecSplineList::SplineExists | ( | const XSecAlgorithmI * | alg, |
const Interaction * | i | ||
) | const |
Definition at line 92 of file XSecSplineList.cxx.
Referenced by genie::GEVGDriver::CreateSplines(), genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::PhysInteractionSelector::SelectInteraction(), 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(), pDEBUG, pERROR, pWARN, and SLOG.
|
inline |
|
friend |
Definition at line 120 of file XSecSplineList.h.
|
friend |
Definition at line 44 of file XSecSplineList.cxx.
|
private |
The `active' tune, out the many that can co-exist.
Definition at line 106 of file XSecSplineList.h.
Referenced by CurrentTune(), and SetCurrentTune().
|
private |
Definition at line 104 of file XSecSplineList.h.
Referenced by Emax().
|
private |
Definition at line 103 of file XSecSplineList.h.
Referenced by Emin().
|
staticprivate |
Definition at line 99 of file XSecSplineList.h.
Referenced by genie::XSecSplineList::Cleaner::~Cleaner().
|
private |
tune -> { set of initialy loaded splines }
Definition at line 109 of file XSecSplineList.h.
|
private |
Definition at line 102 of file XSecSplineList.h.
Referenced by NKnots().
|
private |
tune -> { xsec_alg/xsec_config/interaction -> Spline }
Definition at line 108 of file XSecSplineList.h.
Referenced by HasSplineFromTune().
|
private |
Definition at line 101 of file XSecSplineList.h.
Referenced by UseLogE().