GENIEGenerator
|
#include <HNIntranuke2018.h>
Public Member Functions | |
HNIntranuke2018 () | |
HNIntranuke2018 (string config) | |
~HNIntranuke2018 () | |
void | ProcessEventRecord (GHepRecord *event_rec) const |
virtual string | GetINukeMode () const |
virtual string | GetGenINukeMode () const |
Public Member Functions inherited from genie::Intranuke2018 | |
Intranuke2018 () | |
Intranuke2018 (string name) | |
Intranuke2018 (string name, string config) | |
~Intranuke2018 () | |
virtual void | Configure (const Registry &config) |
virtual void | Configure (string param_set) |
void | SetRemnA (int A) |
void | SetRemnZ (int Z) |
double | GetRemnA () const |
double | GetRemnZ () const |
double | GetR0 () const |
double | GetNR () const |
double | GetDelRPion () const |
double | GetDelRNucleon () const |
double | GetNucRmvE () const |
double | GetHadStep () const |
bool | GetUseOset () const |
bool | GetAltOset () const |
bool | GetXsecNNCorr () const |
Public Member Functions inherited from genie::EventRecordVisitorI | |
virtual | ~EventRecordVisitorI () |
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... | |
Private Member Functions | |
void | LoadConfig (void) |
void | SimulateHadronicFinalState (GHepRecord *ev, GHepParticle *p) const |
INukeFateHN_t | HadronFateHN (const GHepParticle *p) const |
INukeFateHN_t | HadronFateOset () const |
double | FateWeight (int pdgc, INukeFateHN_t fate) const |
void | ElasHN (GHepRecord *ev, GHepParticle *p, INukeFateHN_t fate) const |
void | AbsorbHN (GHepRecord *ev, GHepParticle *p, INukeFateHN_t fate) const |
void | InelasticHN (GHepRecord *ev, GHepParticle *p) const |
void | GammaInelasticHN (GHepRecord *ev, GHepParticle *p, INukeFateHN_t fate) const |
bool | HandleCompoundNucleusHN (GHepRecord *ev, GHepParticle *p) const |
int | HandleCompoundNucleus (GHepRecord *ev, GHepParticle *p, int mom) const |
Private Attributes | |
int | nuclA |
value of A for the target nucleus in hA mode More... | |
double | fNucQEFac |
Friends | |
class | IntranukeTester |
Additional Inherited Members | |
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) |
Protected Member Functions inherited from genie::Intranuke2018 | |
void | TransportHadrons (GHepRecord *ev) const |
void | GenerateVertex (GHepRecord *ev) const |
bool | NeedsRescattering (const GHepParticle *p) const |
bool | CanRescatter (const GHepParticle *p) const |
bool | IsInNucleus (const GHepParticle *p) const |
void | SetTrackingRadius (const GHepParticle *p) const |
double | GenerateStep (GHepRecord *ev, GHepParticle *p) const |
Protected Member Functions inherited from genie::EventRecordVisitorI | |
EventRecordVisitorI () | |
EventRecordVisitorI (string name) | |
EventRecordVisitorI (string name, string config) | |
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::Intranuke2018 | |
double | fTrackingRadius |
tracking radius for the nucleus in the current event More... | |
TGenPhaseSpace | fGenPhaseSpace |
a phase space generator More... | |
INukeHadroData2018 * | fHadroData2018 |
a collection of h+N,h+A data & calculations More... | |
AlgFactory * | fAlgf |
algorithm factory instance More... | |
const NuclearModelI * | fNuclmodel |
nuclear model used to generate fermi momentum More... | |
int | fRemnA |
remnant nucleus A More... | |
int | fRemnZ |
remnant nucleus Z More... | |
TLorentzVector | fRemnP4 |
P4 of remnant system. More... | |
GEvGenMode_t | fGMode |
event generation mode (lepton+A, hadron+A, ...) More... | |
double | fR0 |
effective nuclear size param More... | |
double | fNR |
param multiplying the nuclear radius, determining how far to track hadrons beyond the "nuclear boundary" More... | |
double | fNucRmvE |
binding energy to subtract from cascade nucleons More... | |
double | fDelRPion |
factor by which Pion Compton wavelength gets multiplied to become nuclear size enhancement More... | |
double | fDelRNucleon |
factor by which Nucleon Compton wavelength gets multiplied to become nuclear size enhancement More... | |
double | fHadStep |
step size for intranuclear hadron transport More... | |
double | fNucAbsFac |
absorption xsec correction factor (hN Mode) More... | |
double | fNucCEXFac |
charge exchange xsec correction factor (hN Mode) More... | |
double | fEPreEq |
threshold for pre-equilibrium reaction More... | |
double | fFermiFac |
testing parameter to modify fermi momentum More... | |
double | fFermiMomentum |
whether or not particle collision is pauli blocked More... | |
bool | fDoFermi |
whether or not to do fermi mom. More... | |
bool | fDoMassDiff |
whether or not to do mass diff. mode More... | |
bool | fDoCompoundNucleus |
whether or not to do compound nucleus considerations More... | |
bool | fUseOset |
Oset model for low energy pion in hN. More... | |
bool | fAltOset |
NuWro's table-based implementation (not recommended) More... | |
bool | fXsecNNCorr |
use nuclear medium correction for NN cross section More... | |
double | fChPionMFPScale |
tweaking factors for tuning More... | |
double | fNeutralPionMFPScale |
double | fPionFracCExScale |
double | fPionFracInelScale |
double | fChPionFracAbsScale |
double | fNeutralPionFracAbsScale |
double | fPionFracPiProdScale |
double | fNucleonMFPScale |
double | fNucleonFracCExScale |
double | fNucleonFracInelScale |
double | fNucleonFracAbsScale |
double | fNucleonFracPiProdScale |
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... | |
Definition at line 51 of file HNIntranuke2018.h.
HNIntranuke2018::HNIntranuke2018 | ( | ) |
Definition at line 96 of file HNIntranuke2018.cxx.
HNIntranuke2018::HNIntranuke2018 | ( | string | config | ) |
Definition at line 102 of file HNIntranuke2018.cxx.
HNIntranuke2018::~HNIntranuke2018 | ( | ) |
Definition at line 108 of file HNIntranuke2018.cxx.
|
private |
Definition at line 388 of file HNIntranuke2018.cxx.
References genie::GHepRecord::AddParticle(), genie::INukeHadroFates::AsString(), genie::GHepParticle::E(), genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fFermiFac, genie::Intranuke2018::fFermiMomentum, genie::Intranuke2018::fHadroData2018, genie::PDGLibrary::Find(), genie::GHepParticle::FirstMother(), genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, genie::Intranuke2018::fUseOset, genie::NuclearModelI::GenerateNucleon(), genie::RandomGen::Instance(), genie::PDGLibrary::Instance(), genie::INukeHadroData2018::IntBounce(), genie::kIHNFtAbs, genie::GHepParticle::KinE(), genie::kIStHadronInTheNucleus, genie::kIStStableFinalState, genie::constants::kPi, genie::GHepParticle::LastMother(), LOG, genie::units::MeV, genie::NuclearModelI::Momentum3(), genie::GHepParticle::Name(), genie::GHepParticle::P4(), pDEBUG, genie::GHepParticle::Pdg(), pINFO, pWARN, genie::RandomGen::RndFsi(), genie::GHepParticle::SetFirstMother(), genie::GHepParticle::SetLastMother(), genie::GHepParticle::SetMomentum(), genie::GHepParticle::SetPdgCode(), genie::exceptions::INukeException::SetReason(), genie::GHepParticle::SetStatus(), and genie::GHepRecord::TargetNucleus().
Referenced by SimulateHadronicFinalState().
|
private |
Definition at line 659 of file HNIntranuke2018.cxx.
References genie::GHepRecord::AddParticle(), genie::INukeHadroFates::AsString(), genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fFermiFac, genie::Intranuke2018::fHadroData2018, genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, genie::NuclearModelI::GenerateNucleon(), genie::RandomGen::Instance(), genie::INukeHadroData2018::IntBounce(), genie::kIHNFtCEx, genie::kIHNFtElas, genie::kIMdHN, genie::kIStStableFinalState, genie::kPdgK0, genie::kPdgKP, genie::kPdgNeutron, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, LOG, genie::GHepParticle::Mass(), genie::NuclearModelI::Momentum3(), genie::GHepParticle::Name(), pDEBUG, genie::GHepParticle::Pdg(), pINFO, pWARN, genie::RandomGen::RndFsi(), genie::Target::SetHitNucPdg(), genie::GHepParticle::SetMomentum(), genie::GHepParticle::SetPdgCode(), genie::exceptions::INukeException::SetReason(), genie::GHepParticle::SetRemovalEnergy(), genie::GHepParticle::SetStatus(), genie::GHepRecord::TargetNucleus(), and genie::utils::intranuke2018::TwoBodyCollision().
Referenced by SimulateHadronicFinalState().
|
private |
Definition at line 363 of file HNIntranuke2018.cxx.
References genie::Intranuke2018::fDoCompoundNucleus, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnZ, genie::kIHNFtAbs, genie::kIHNFtCEx, genie::kIHNFtCmp, genie::kPdgKP, genie::kPdgNeutron, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, LOG, and pERROR.
Referenced by HadronFateHN().
|
private |
Definition at line 804 of file HNIntranuke2018.cxx.
References genie::GHepRecord::AddParticle(), genie::INukeHadroFates::AsString(), genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fFermiFac, genie::Intranuke2018::fHadroData2018, genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, genie::NuclearModelI::GenerateNucleon(), genie::RandomGen::Instance(), genie::INukeHadroData2018::IntBounce(), genie::kIHNFtInelas, genie::kIMdHN, genie::GHepParticle::KinE(), genie::kPdgGamma, genie::kPdgNeutron, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, LOG, genie::GHepParticle::Mass(), genie::units::MeV, genie::NuclearModelI::Momentum3(), genie::GHepParticle::Name(), pDEBUG, genie::GHepParticle::Pdg(), pERROR, pNOTICE, pWARN, genie::RandomGen::RndFsi(), genie::Target::SetHitNucPdg(), genie::GHepParticle::SetMomentum(), genie::GHepParticle::SetPdgCode(), genie::GHepRecord::TargetNucleus(), and genie::utils::intranuke2018::TwoBodyCollision().
Referenced by SimulateHadronicFinalState().
|
inlinevirtual |
Reimplemented from genie::Intranuke2018.
Definition at line 63 of file HNIntranuke2018.h.
|
inlinevirtual |
Reimplemented from genie::Intranuke2018.
Definition at line 62 of file HNIntranuke2018.h.
|
private |
Definition at line 208 of file HNIntranuke2018.cxx.
References genie::INukeHadroFates::AsString(), FateWeight(), genie::Intranuke2018::fHadroData2018, genie::Intranuke2018::fNucAbsFac, genie::Intranuke2018::fNucCEXFac, fNucQEFac, genie::INukeHadroData2018::Frac(), genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnZ, genie::Intranuke2018::fUseOset, HadronFateOset(), genie::RandomGen::Instance(), genie::kIHNFtAbs, genie::kIHNFtCEx, genie::kIHNFtCmp, genie::kIHNFtElas, genie::kIHNFtInelas, genie::kIHNFtUndefined, genie::GHepParticle::KinE(), genie::kPdgGamma, genie::kPdgKP, genie::kPdgNeutron, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, genie::controls::kRjMaxIterations, LOG, genie::units::MeV, genie::GHepParticle::Name(), pDEBUG, genie::GHepParticle::Pdg(), pINFO, pNOTICE, pWARN, and genie::RandomGen::RndFsi().
Referenced by SimulateHadronicFinalState().
|
private |
Definition at line 1012 of file HNIntranuke2018.cxx.
References osetUtils::currentInstance, genie::Intranuke2018::fNucAbsFac, genie::Intranuke2018::fNucCEXFac, fNucQEFac, INukeOset::getAbsorptionFraction(), INukeOset::getCexFraction(), genie::RandomGen::Instance(), genie::kIHNFtAbs, genie::kIHNFtCEx, genie::kIHNFtElas, LOG, pNOTICE, and genie::RandomGen::RndFsi().
Referenced by HadronFateHN().
|
privatevirtual |
Implements genie::Intranuke2018.
Definition at line 908 of file HNIntranuke2018.cxx.
References genie::GHepRecord::AddParticle(), genie::utils::intranuke2018::Equilibrium(), genie::Intranuke2018::fDoCompoundNucleus, genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fEPreEq, genie::Intranuke2018::fFermiFac, genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fNucRmvE, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, genie::Intranuke2018::IsInNucleus(), genie::pdg::IsNeutronOrProton(), genie::kIMdHN, genie::GHepParticle::KinE(), genie::kIStStableFinalState, LOG, genie::GHepParticle::Pdg(), pNOTICE, genie::GHepParticle::SetFirstMother(), and genie::GHepParticle::SetStatus().
Referenced by HandleCompoundNucleusHN().
|
private |
Definition at line 948 of file HNIntranuke2018.cxx.
References genie::GHepParticle::FirstMother(), and HandleCompoundNucleus().
|
private |
Definition at line 768 of file HNIntranuke2018.cxx.
References genie::GHepRecord::AddParticle(), genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fFermiFac, genie::Intranuke2018::fFermiMomentum, genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, genie::kIStHadronInTheNucleus, LOG, genie::utils::intranuke2018::PionProduction(), pNOTICE, genie::exceptions::INukeException::SetReason(), genie::GHepParticle::SetRemovalEnergy(), and genie::GHepParticle::SetStatus().
Referenced by SimulateHadronicFinalState().
|
privatevirtual |
Implements genie::Intranuke2018.
Definition at line 954 of file HNIntranuke2018.cxx.
References genie::INukeMode::AsString(), genie::Intranuke2018::fAltOset, genie::Intranuke2018::fChPionMFPScale, genie::Intranuke2018::fDelRNucleon, genie::Intranuke2018::fDelRPion, genie::Intranuke2018::fDoCompoundNucleus, genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fEPreEq, genie::Intranuke2018::fFermiFac, genie::Intranuke2018::fFermiMomentum, genie::Intranuke2018::fHadroData2018, genie::Intranuke2018::fHadStep, genie::Intranuke2018::fNeutralPionMFPScale, genie::Intranuke2018::fNR, genie::Intranuke2018::fNucAbsFac, genie::Intranuke2018::fNucCEXFac, genie::Intranuke2018::fNucleonMFPScale, genie::Intranuke2018::fNuclmodel, fNucQEFac, genie::Intranuke2018::fNucRmvE, genie::Intranuke2018::fR0, genie::Intranuke2018::fUseOset, genie::Intranuke2018::fXsecNNCorr, genie::Algorithm::GetParam(), genie::Algorithm::GetParamDef(), genie::INukeHadroData2018::Instance(), genie::kIMdHN, LOG, pINFO, pWARN, and genie::Algorithm::SubAlg().
|
virtual |
Reimplemented from genie::Intranuke2018.
Definition at line 113 of file HNIntranuke2018.cxx.
References LOG, pINFO, pNOTICE, and genie::Intranuke2018::ProcessEventRecord().
|
privatevirtual |
Implements genie::Intranuke2018.
Definition at line 128 of file HNIntranuke2018.cxx.
References AbsorbHN(), genie::GHepRecord::AddParticle(), genie::INukeHadroFates::AsString(), ElasHN(), genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fFermiFac, genie::GHepParticle::FirstMother(), genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fNucRmvE, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, GammaInelasticHN(), HadronFateHN(), InelasticHN(), genie::kIHNFtAbs, genie::kIHNFtCEx, genie::kIHNFtCmp, genie::kIHNFtElas, genie::kIHNFtInelas, genie::kIHNFtNoInteraction, genie::kIHNFtUndefined, genie::kIMdHN, genie::kIStStableFinalState, genie::kPdgGamma, genie::kPdgKP, genie::kPdgNeutron, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, LOG, genie::GHepParticle::Name(), genie::GHepRecord::Particle(), pDEBUG, genie::GHepParticle::Pdg(), pERROR, pNOTICE, genie::utils::intranuke2018::PreEquilibrium(), and genie::GHepParticle::SetStatus().
|
friend |
Definition at line 53 of file HNIntranuke2018.h.
|
private |
Definition at line 84 of file HNIntranuke2018.h.
Referenced by HadronFateHN(), HadronFateOset(), and LoadConfig().
|
mutableprivate |
value of A for the target nucleus in hA mode
Definition at line 81 of file HNIntranuke2018.h.