GENIEGenerator
|
Contains auxiliary functions for Smith-Moniz model.
.
More...
#include <SmithMonizUtils.h>
Classes | |
class | Func1D |
class | Func1Dpar |
class | Functor1D |
Public Member Functions | |
SmithMonizUtils () | |
SmithMonizUtils (string config) | |
virtual | ~SmithMonizUtils () |
void | SetInteraction (const Interaction *i) |
double | GetBindingEnergy (void) const |
double | GetFermiMomentum (void) const |
double | GetTheta_k (double v, double qv) const |
double | GetTheta_p (double pv, double v, double qv, double &E_p) const |
double | E_nu_thr_SM (void) const |
Range1D_t | Q2QES_SM_lim (void) const |
Range1D_t | vQES_SM_lim (double Q2) const |
Range1D_t | kFQES_SM_lim (double nu, double Q2) const |
double | PhaseSpaceVolume (KinePhaseSpace_t ps) const |
double | vQES_SM_min (double Q2min, double Q2max) const |
double | vQES_SM_max (double Q2min, double Q2max) const |
void | Configure (const Registry &config) |
void | Configure (string config) |
double | QEL_EnuMin_SM (double E_nu) const |
Public Member Functions inherited from genie::Algorithm | |
virtual | ~Algorithm () |
virtual void | FindConfig (void) |
virtual const Registry & | GetConfig (void) const |
Registry * | GetOwnedConfig (void) |
virtual const AlgId & | Id (void) const |
Get algorithm ID. More... | |
virtual AlgStatus_t | GetStatus (void) const |
Get algorithm status. More... | |
virtual bool | AllowReconfig (void) const |
virtual AlgCmp_t | Compare (const Algorithm *alg) const |
Compare with input algorithm. More... | |
virtual void | SetId (const AlgId &id) |
Set algorithm ID. More... | |
virtual void | SetId (string name, string config) |
const Algorithm * | SubAlg (const RgKey ®istry_key) const |
void | AdoptConfig (void) |
void | AdoptSubstructure (void) |
virtual void | Print (ostream &stream) const |
Print algorithm info. More... | |
Static Public Member Functions | |
static double | rho (double P_Fermi, double T_Fermi, double p) |
Static Public Member Functions inherited from genie::Algorithm | |
static string | BuildParamVectKey (const std::string &comm_name, unsigned int i) |
static string | BuildParamVectSizeKey (const std::string &comm_name) |
static string | BuildParamMatKey (const std::string &comm_name, unsigned int i, unsigned int j) |
static string | BuildParamMatRowSizeKey (const std::string &comm_name) |
static string | BuildParamMatColSizeKey (const std::string &comm_name) |
Private Member Functions | |
void | LoadConfig (void) |
double | Q2lim1_SM (double Q2, double Enu) const |
double | Q2lim2_SM (double Q2) const |
void | DMINFC (Functor1D &F, double A, double B, double EPS, double DELTA, double &X, double &Y, bool &LLM) const |
double | vlim1_SM (double Q2) const |
double | vlim2_SM (double Q2) const |
Private Attributes | |
map< int, double > | fNucRmvE |
string | fKFTable |
bool | fUseParametrization |
const Interaction * | fInteraction |
double | E_nu |
Neutrino energy (GeV) More... | |
double | m_lep |
Mass of final charged lepton (GeV) More... | |
double | mm_lep |
Squared mass of final charged lepton (GeV) More... | |
double | m_ini |
Mass of initial hadron or hadron system (GeV) More... | |
double | mm_ini |
Sqared mass of initial hadron or hadron system (GeV) More... | |
double | m_fin |
Mass of final hadron or hadron system (GeV) More... | |
double | mm_fin |
Squared mass of final hadron or hadron system (GeV) More... | |
double | m_tar |
Mass of target nucleus (GeV) More... | |
double | mm_tar |
Squared mass of target nucleus (GeV) More... | |
double | m_rnu |
Mass of residual nucleus (GeV) More... | |
double | mm_rnu |
Squared mass of residual nucleus (GeV) More... | |
double | P_Fermi |
Maximum value of Fermi momentum of target nucleon (GeV) More... | |
double | E_BIN |
Binding energy (GeV) More... | |
Additional Inherited Members | |
Protected Member Functions inherited from genie::Algorithm | |
Algorithm () | |
Algorithm (string name) | |
Algorithm (string name, string config) | |
void | Initialize (void) |
void | DeleteConfig (void) |
void | DeleteSubstructure (void) |
Registry * | ExtractLocalConfig (const Registry &in) const |
Registry * | ExtractLowerConfig (const Registry &in, const string &alg_key) const |
Split an incoming configuration Registry into a block valid for the sub-algo identified by alg_key. More... | |
template<class T > | |
bool | GetParam (const RgKey &name, T &p, bool is_top_call=true) const |
template<class T > | |
bool | GetParamDef (const RgKey &name, T &p, const T &def) const |
template<class T > | |
int | GetParamVect (const std::string &comm_name, std::vector< T > &v, bool is_top_call=true) const |
Handle to load vectors of parameters. More... | |
int | GetParamVectKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const |
template<class T > | |
int | GetParamMat (const std::string &comm_name, TMatrixT< T > &mat, bool is_top_call=true) const |
Handle to load matrix of parameters. More... | |
template<class T > | |
int | GetParamMatSym (const std::string &comm_name, TMatrixTSym< T > &mat, bool is_top_call=true) const |
int | GetParamMatKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const |
int | AddTopRegistry (Registry *rp, bool owns=true) |
add registry with top priority, also update ownership More... | |
int | AddLowRegistry (Registry *rp, bool owns=true) |
add registry with lowest priority, also update ownership More... | |
int | MergeTopRegistry (const Registry &r) |
int | AddTopRegisties (const vector< Registry * > &rs, bool owns=false) |
Add registries with top priority, also udated Ownerships. More... | |
Protected Attributes inherited from genie::Algorithm | |
bool | fAllowReconfig |
bool | fOwnsSubstruc |
true if it owns its substructure (sub-algs,...) More... | |
AlgId | fID |
algorithm name and configuration set More... | |
vector< Registry * > | fConfVect |
vector< bool > | fOwnerships |
ownership for every registry in fConfVect More... | |
AlgStatus_t | fStatus |
algorithm execution status More... | |
AlgMap * | fOwnedSubAlgMp |
local pool for owned sub-algs (taken out of the factory pool) More... | |
Contains auxiliary functions for Smith-Moniz model.
.
Definition at line 53 of file SmithMonizUtils.h.
SmithMonizUtils::SmithMonizUtils | ( | ) |
Definition at line 46 of file SmithMonizUtils.cxx.
SmithMonizUtils::SmithMonizUtils | ( | string | config | ) |
Definition at line 52 of file SmithMonizUtils.cxx.
|
virtual |
Definition at line 58 of file SmithMonizUtils.cxx.
|
virtual |
methods overloading the Algorithm() interface implementation to build the fragmentation function from configuration data
Reimplemented from genie::Algorithm.
Definition at line 63 of file SmithMonizUtils.cxx.
References genie::Algorithm::Configure(), and LoadConfig().
|
virtual |
Configure the algorithm from the AlgoConfigPool based on param_set string given in input An algorithm contains a vector of registries coming from different xml configuration files, which are loaded according a very precise prioriy This methods will load a number registries in order of priority: 1) "Tunable" parameter set from CommonParametes. This is loaded with the highest prioriry and it is designed to be used for tuning procedure Usage not expected from the user. 2) For every string defined in "CommonParame" the corresponding parameter set will be loaded from CommonParameter.xml 3) parameter set specified by the config string and defined in the xml file of the algorithm 4) if config is not "Default" also the Default parameter set from the same xml file will be loaded Effectively this avoids the repetion of a parameter when it is not changed in the requested configuration
Reimplemented from genie::Algorithm.
Definition at line 69 of file SmithMonizUtils.cxx.
References genie::Algorithm::Configure(), and LoadConfig().
|
private |
Definition at line 548 of file SmithMonizUtils.cxx.
References genie::units::A, and genie::utils::kinematics::W().
Referenced by Q2QES_SM_lim(), QEL_EnuMin_SM(), vQES_SM_max(), and vQES_SM_min().
double SmithMonizUtils::E_nu_thr_SM | ( | void | ) | const |
Definition at line 210 of file SmithMonizUtils.cxx.
References E_BIN, m_fin, m_lep, m_rnu, m_tar, mm_ini, mm_tar, P_Fermi, and QEL_EnuMin_SM().
Referenced by genie::SmithMonizQELCCXSec::Integrate().
double SmithMonizUtils::GetBindingEnergy | ( | void | ) | const |
Definition at line 629 of file SmithMonizUtils.cxx.
References E_BIN.
Referenced by genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), and genie::QELEventGeneratorSM::ProcessEventRecord().
double SmithMonizUtils::GetFermiMomentum | ( | void | ) | const |
Definition at line 634 of file SmithMonizUtils.cxx.
References P_Fermi.
Referenced by genie::QELEventGeneratorSM::ComputeMaxXSec(), genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), and genie::QELEventGeneratorSM::ProcessEventRecord().
double SmithMonizUtils::GetTheta_k | ( | double | v, |
double | qv | ||
) | const |
Definition at line 639 of file SmithMonizUtils.cxx.
double SmithMonizUtils::GetTheta_p | ( | double | pv, |
double | v, | ||
double | qv, | ||
double & | E_p | ||
) | const |
Definition at line 644 of file SmithMonizUtils.cxx.
References E_BIN, mm_fin, and mm_ini.
Range1D_t SmithMonizUtils::kFQES_SM_lim | ( | double | nu, |
double | Q2 | ||
) | const |
Definition at line 529 of file SmithMonizUtils.cxx.
References E_BIN, m_ini, mm_fin, mm_ini, and P_Fermi.
Referenced by genie::SmithMonizQELCCPXSec::d2sQES_dQ2dv_SM(), PhaseSpaceVolume(), and genie::QELEventGeneratorSM::ProcessEventRecord().
|
private |
Definition at line 75 of file SmithMonizUtils.cxx.
References fKFTable, fNucRmvE, fUseParametrization, genie::Algorithm::GetConfig(), genie::Registry::GetItemMap(), genie::Algorithm::GetParam(), and genie::pdg::IonPdgCodeToZ().
Referenced by Configure().
double SmithMonizUtils::PhaseSpaceVolume | ( | KinePhaseSpace_t | ps | ) | const |
Definition at line 653 of file SmithMonizUtils.cxx.
References kFQES_SM_lim(), genie::kPSQ2fE, genie::kPSQ2vpfE, genie::Range1D_t::max, genie::Range1D_t::min, genie::utils::kinematics::Q2(), Q2QES_SM_lim(), and vQES_SM_lim().
Referenced by genie::QELEventGeneratorSM::ProcessEventRecord().
|
private |
Definition at line 273 of file SmithMonizUtils.cxx.
References a, genie::units::b, E_BIN, mm_fin, mm_ini, mm_lep, and P_Fermi.
Referenced by Q2QES_SM_lim(), and QEL_EnuMin_SM().
|
private |
Definition at line 288 of file SmithMonizUtils.cxx.
References a, genie::units::b, E_BIN, m_fin, m_rnu, m_tar, mm_fin, mm_ini, mm_tar, and P_Fermi.
Referenced by Q2QES_SM_lim().
Range1D_t SmithMonizUtils::Q2QES_SM_lim | ( | void | ) | const |
Definition at line 303 of file SmithMonizUtils.cxx.
References DMINFC(), E_BIN, E_nu, epsilon, LOG, m_fin, m_ini, m_lep, m_rnu, m_tar, mm_fin, mm_ini, mm_lep, mm_tar, P_Fermi, pFATAL, pWARN, Q2lim1_SM(), Q2lim2_SM(), and genie::units::s.
Referenced by genie::QELEventGeneratorSM::ComputeMaxXSec(), genie::utils::gsl::d2Xsec_dQ2dv::d2Xsec_dQ2dv(), PhaseSpaceVolume(), and genie::QELEventGeneratorSM::ProcessEventRecord().
double SmithMonizUtils::QEL_EnuMin_SM | ( | double | E_nu | ) | const |
Definition at line 247 of file SmithMonizUtils.cxx.
References DMINFC(), epsilon, m_fin, m_lep, m_rnu, m_tar, mm_lep, mm_tar, Q2lim1_SM(), and genie::units::s.
Referenced by E_nu_thr_SM().
|
static |
Definition at line 609 of file SmithMonizUtils.cxx.
Referenced by genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM().
void SmithMonizUtils::SetInteraction | ( | const Interaction * | i | ) |
Definition at line 116 of file SmithMonizUtils.cxx.
References genie::Target::A(), genie::units::A, genie::utils::nuclear::BindEnergyPerNucleon(), genie::utils::nuclear::BindEnergyPerNucleonParametrization(), E_BIN, E_nu, genie::utils::nuclear::FermiMomentumForIsoscalarNucleonParametrization(), genie::PDGLibrary::Find(), genie::FermiMomentumTable::FindClosestKF(), fInteraction, fKFTable, fNucRmvE, genie::Interaction::FSPrimLepton(), fUseParametrization, genie::FermiMomentumTablePool::GetTable(), genie::Target::HitNucIsSet(), genie::Target::HitNucMass(), genie::Target::HitNucPdg(), genie::Interaction::InitState(), genie::FermiMomentumTablePool::Instance(), genie::PDGLibrary::Instance(), genie::pdg::IonPdgCode(), genie::pdg::IsProton(), genie::kRfLab, LOG, m_fin, m_ini, m_lep, m_rnu, m_tar, genie::utils::res::Mass(), genie::Target::Mass(), mm_fin, mm_ini, mm_lep, mm_rnu, mm_tar, P_Fermi, pFATAL, genie::InitialState::ProbeE(), genie::pdg::SwitchProtonNeutron(), genie::InitialState::Tgt(), and genie::Target::Z().
Referenced by genie::SmithMonizQELCCPXSec::d2sQES_dQ2dv_SM(), genie::utils::gsl::d2Xsec_dQ2dv::d2Xsec_dQ2dv(), genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), genie::utils::gsl::dv_dQ2_E::dv_dQ2_E(), genie::SmithMonizQELCCXSec::Integrate(), and genie::QELEventGeneratorSM::ProcessEventRecord().
|
private |
Definition at line 499 of file SmithMonizUtils.cxx.
References a, genie::units::b, E_BIN, m_fin, m_rnu, m_tar, mm_fin, mm_ini, mm_tar, and P_Fermi.
Referenced by vQES_SM_min().
|
private |
Definition at line 514 of file SmithMonizUtils.cxx.
References a, genie::units::b, E_BIN, E_nu, mm_fin, mm_ini, mm_lep, and P_Fermi.
Referenced by vQES_SM_max().
Range1D_t SmithMonizUtils::vQES_SM_lim | ( | double | Q2 | ) | const |
Definition at line 423 of file SmithMonizUtils.cxx.
References a, genie::units::b, E_BIN, E_nu, m_fin, m_rnu, m_tar, mm_fin, mm_ini, mm_lep, mm_tar, and P_Fermi.
Referenced by genie::QELEventGeneratorSM::ComputeMaxXSec(), genie::utils::gsl::dv_dQ2_E::DoEval(), PhaseSpaceVolume(), genie::QELEventGeneratorSM::ProcessEventRecord(), vQES_SM_max(), and vQES_SM_min().
double SmithMonizUtils::vQES_SM_max | ( | double | Q2min, |
double | Q2max | ||
) | const |
Definition at line 479 of file SmithMonizUtils.cxx.
References DMINFC(), E_BIN, genie::Range1D_t::min, P_Fermi, vlim2_SM(), and vQES_SM_lim().
Referenced by genie::QELEventGeneratorSM::ComputeMaxXSec().
double SmithMonizUtils::vQES_SM_min | ( | double | Q2min, |
double | Q2max | ||
) | const |
Definition at line 459 of file SmithMonizUtils.cxx.
References DMINFC(), E_BIN, genie::Range1D_t::min, P_Fermi, vlim1_SM(), and vQES_SM_lim().
Referenced by genie::QELEventGeneratorSM::ComputeMaxXSec().
|
private |
Binding energy (GeV)
Definition at line 142 of file SmithMonizUtils.h.
Referenced by E_nu_thr_SM(), GetBindingEnergy(), GetTheta_p(), kFQES_SM_lim(), Q2lim1_SM(), Q2lim2_SM(), Q2QES_SM_lim(), SetInteraction(), vlim1_SM(), vlim2_SM(), vQES_SM_lim(), vQES_SM_max(), and vQES_SM_min().
|
private |
Neutrino energy (GeV)
Definition at line 130 of file SmithMonizUtils.h.
Referenced by GetTheta_k(), Q2QES_SM_lim(), SetInteraction(), vlim2_SM(), and vQES_SM_lim().
|
private |
Definition at line 125 of file SmithMonizUtils.h.
Referenced by SetInteraction().
|
private |
Definition at line 122 of file SmithMonizUtils.h.
Referenced by LoadConfig(), and SetInteraction().
|
private |
Definition at line 121 of file SmithMonizUtils.h.
Referenced by LoadConfig(), and SetInteraction().
|
private |
Definition at line 123 of file SmithMonizUtils.h.
Referenced by LoadConfig(), and SetInteraction().
|
private |
Mass of final hadron or hadron system (GeV)
Definition at line 135 of file SmithMonizUtils.h.
Referenced by E_nu_thr_SM(), Q2lim2_SM(), Q2QES_SM_lim(), QEL_EnuMin_SM(), SetInteraction(), vlim1_SM(), and vQES_SM_lim().
|
private |
Mass of initial hadron or hadron system (GeV)
Definition at line 133 of file SmithMonizUtils.h.
Referenced by kFQES_SM_lim(), Q2QES_SM_lim(), and SetInteraction().
|
private |
Mass of final charged lepton (GeV)
Definition at line 131 of file SmithMonizUtils.h.
Referenced by E_nu_thr_SM(), Q2QES_SM_lim(), QEL_EnuMin_SM(), and SetInteraction().
|
private |
Mass of residual nucleus (GeV)
Definition at line 139 of file SmithMonizUtils.h.
Referenced by E_nu_thr_SM(), Q2lim2_SM(), Q2QES_SM_lim(), QEL_EnuMin_SM(), SetInteraction(), vlim1_SM(), and vQES_SM_lim().
|
private |
Mass of target nucleus (GeV)
Definition at line 137 of file SmithMonizUtils.h.
Referenced by E_nu_thr_SM(), Q2lim2_SM(), Q2QES_SM_lim(), QEL_EnuMin_SM(), SetInteraction(), vlim1_SM(), and vQES_SM_lim().
|
private |
Squared mass of final hadron or hadron system (GeV)
Definition at line 136 of file SmithMonizUtils.h.
Referenced by GetTheta_p(), kFQES_SM_lim(), Q2lim1_SM(), Q2lim2_SM(), Q2QES_SM_lim(), SetInteraction(), vlim1_SM(), vlim2_SM(), and vQES_SM_lim().
|
private |
Sqared mass of initial hadron or hadron system (GeV)
Definition at line 134 of file SmithMonizUtils.h.
Referenced by E_nu_thr_SM(), GetTheta_p(), kFQES_SM_lim(), Q2lim1_SM(), Q2lim2_SM(), Q2QES_SM_lim(), SetInteraction(), vlim1_SM(), vlim2_SM(), and vQES_SM_lim().
|
private |
Squared mass of final charged lepton (GeV)
Definition at line 132 of file SmithMonizUtils.h.
Referenced by GetTheta_k(), Q2lim1_SM(), Q2QES_SM_lim(), QEL_EnuMin_SM(), SetInteraction(), vlim2_SM(), and vQES_SM_lim().
|
private |
Squared mass of residual nucleus (GeV)
Definition at line 140 of file SmithMonizUtils.h.
Referenced by SetInteraction().
|
private |
Squared mass of target nucleus (GeV)
Definition at line 138 of file SmithMonizUtils.h.
Referenced by E_nu_thr_SM(), Q2lim2_SM(), Q2QES_SM_lim(), QEL_EnuMin_SM(), SetInteraction(), vlim1_SM(), and vQES_SM_lim().
|
private |
Maximum value of Fermi momentum of target nucleon (GeV)
Definition at line 141 of file SmithMonizUtils.h.
Referenced by E_nu_thr_SM(), GetFermiMomentum(), kFQES_SM_lim(), Q2lim1_SM(), Q2lim2_SM(), Q2QES_SM_lim(), SetInteraction(), vlim1_SM(), vlim2_SM(), vQES_SM_lim(), vQES_SM_max(), and vQES_SM_min().