GENIEGenerator
|
#include <HAIntranuke2018.h>
Public Member Functions | |
HAIntranuke2018 () | |
HAIntranuke2018 (string config) | |
~HAIntranuke2018 () | |
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 |
void | SimulateHadronicFinalStateKinematics (GHepRecord *ev, GHepParticle *p) const |
INukeFateHA_t | HadronFateHA (const GHepParticle *p) const |
void | Inelastic (GHepRecord *ev, GHepParticle *p, INukeFateHA_t fate) const |
void | ElasHA (GHepRecord *ev, GHepParticle *p, INukeFateHA_t fate) const |
void | InelasticHA (GHepRecord *ev, GHepParticle *p, INukeFateHA_t fate) const |
double | PiBounce (void) const |
double | PnBounce (void) 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... | |
unsigned int | fNumIterations |
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 HAIntranuke2018.h.
HAIntranuke2018::HAIntranuke2018 | ( | ) |
Definition at line 96 of file HAIntranuke2018.cxx.
HAIntranuke2018::HAIntranuke2018 | ( | string | config | ) |
Definition at line 102 of file HAIntranuke2018.cxx.
HAIntranuke2018::~HAIntranuke2018 | ( | ) |
Definition at line 108 of file HAIntranuke2018.cxx.
|
private |
Definition at line 481 of file HAIntranuke2018.cxx.
References genie::GHepParticle::A(), genie::GHepRecord::AddParticle(), genie::INukeHadroFates::AsString(), genie::PDGLibrary::Find(), genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, genie::PDGLibrary::Instance(), genie::kIStStableFinalState, genie::kPdgNeutron, genie::kPdgProton, LOG, genie::utils::res::Mass(), genie::GHepParticle::Mass(), genie::GHepParticle::Name(), genie::GHepParticle::P4(), pDEBUG, genie::GHepParticle::Pdg(), PiBounce(), pINFO, PnBounce(), pNOTICE, pWARN, genie::GHepParticle::SetMomentum(), genie::exceptions::INukeException::SetReason(), genie::GHepParticle::SetStatus(), genie::GHepRecord::TargetNucleus(), and genie::utils::intranuke2018::TwoBodyKinematics().
|
inlinevirtual |
Reimplemented from genie::Intranuke2018.
Definition at line 63 of file HAIntranuke2018.h.
|
inlinevirtual |
Reimplemented from genie::Intranuke2018.
Definition at line 62 of file HAIntranuke2018.h.
|
private |
Definition at line 224 of file HAIntranuke2018.cxx.
References genie::INukeHadroFates::AsString(), genie::Intranuke2018::fChPionFracAbsScale, genie::Intranuke2018::fHadroData2018, genie::Intranuke2018::fNeutralPionFracAbsScale, genie::Intranuke2018::fNucleonFracAbsScale, genie::Intranuke2018::fNucleonFracCExScale, genie::Intranuke2018::fNucleonFracInelScale, genie::Intranuke2018::fNucleonFracPiProdScale, genie::Intranuke2018::fPionFracCExScale, genie::Intranuke2018::fPionFracInelScale, genie::Intranuke2018::fPionFracPiProdScale, genie::INukeHadroData2018::FracADep(), genie::INukeHadroData2018::FracAIndep(), genie::RandomGen::Instance(), genie::kIHAFtAbs, genie::kIHAFtCEx, genie::kIHAFtCmp, genie::kIHAFtInelas, genie::kIHAFtPiProd, genie::kIHAFtUndefined, genie::GHepParticle::KinE(), genie::kPdgKM, genie::kPdgKP, genie::kPdgNeutron, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, genie::controls::kRjMaxIterations, LOG, genie::units::MeV, genie::GHepParticle::Name(), nuclA, pDEBUG, genie::GHepParticle::Pdg(), pINFO, pWARN, and genie::RandomGen::RndFsi().
Referenced by SimulateHadronicFinalState().
|
privatevirtual |
Implements genie::Intranuke2018.
Definition at line 1513 of file HAIntranuke2018.cxx.
|
private |
Definition at line 739 of file HAIntranuke2018.cxx.
References genie::GHepRecord::AddParticle(), genie::INukeHadroFates::AsString(), genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fFermiFac, genie::Intranuke2018::fFermiMomentum, genie::Intranuke2018::fHadroData2018, genie::PDGLibrary::Find(), genie::GHepParticle::FirstMother(), genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fNucRmvE, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, genie::NuclearModelI::GenerateNucleon(), genie::RandomGen::Instance(), genie::PDGLibrary::Instance(), genie::INukeHadroData2018::IntBounce(), genie::pdg::IonPdgCode(), genie::pdg::IsKaon(), genie::pdg::IsNeutron(), genie::pdg::IsNeutronOrProton(), genie::pdg::IsPion(), genie::pdg::IsProton(), genie::kIHAFtAbs, genie::kIHAFtPiProd, genie::kIHNFtAbs, genie::kIMdHA, genie::GHepParticle::KinE(), genie::kIStNucleonClusterTarget, genie::kIStStableFinalState, genie::kPdgCompNuclCluster, genie::kPdgKM, genie::kPdgKP, genie::kPdgNeutron, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, genie::constants::kPi, genie::GHepParticle::LastMother(), LOG, genie::units::MeV, genie::NuclearModelI::Momentum3(), genie::GHepParticle::Name(), genie::units::ns, genie::GHepParticle::P4(), pDEBUG, genie::GHepParticle::Pdg(), genie::utils::intranuke2018::PhaseSpaceDecay(), pINFO, genie::utils::intranuke2018::PionProduction(), pNOTICE, genie::PDGCodeList::push_back(), pWARN, genie::RandomGen::RndFsi(), genie::GHepParticle::SetFirstMother(), genie::Target::SetHitNucPdg(), genie::GHepParticle::SetLastMother(), genie::GHepParticle::SetMomentum(), genie::GHepParticle::SetPdgCode(), genie::exceptions::INukeException::SetReason(), genie::GHepParticle::SetStatus(), genie::GHepRecord::TargetNucleus(), genie::utils::intranuke2018::TwoBodyKinematics(), and genie::GHepParticle::X4().
Referenced by SimulateHadronicFinalStateKinematics().
|
private |
Definition at line 553 of file HAIntranuke2018.cxx.
References genie::GHepRecord::AddParticle(), genie::INukeHadroFates::AsString(), genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fFermiFac, genie::Intranuke2018::fHadroData2018, genie::PDGLibrary::Find(), genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, genie::NuclearModelI::GenerateNucleon(), genie::RandomGen::Instance(), genie::PDGLibrary::Instance(), genie::INukeHadroData2018::IntBounce(), genie::pdg::IonPdgCode(), genie::kIHAFtCEx, genie::kIHAFtInelas, genie::kIHNFtCEx, genie::kIHNFtElas, genie::kIMdHA, genie::GHepParticle::KinE(), genie::kIStStableFinalState, genie::kPdgNeutron, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, LOG, genie::GHepParticle::Mass(), genie::NuclearModelI::Momentum3(), genie::GHepParticle::Name(), genie::GHepParticle::P4(), pDEBUG, genie::GHepParticle::Pdg(), pINFO, pNOTICE, genie::GHepRecord::Probe(), pWARN, genie::GHepParticle::Px(), genie::GHepParticle::Py(), genie::GHepParticle::Pz(), genie::RandomGen::RndFsi(), genie::GHepParticle::SetMomentum(), genie::GHepParticle::SetPdgCode(), genie::exceptions::INukeException::SetReason(), genie::GHepParticle::SetStatus(), genie::GHepRecord::TargetNucleus(), and genie::utils::intranuke2018::TwoBodyCollision().
Referenced by SimulateHadronicFinalStateKinematics().
|
privatevirtual |
Implements genie::Intranuke2018.
Definition at line 1521 of file HAIntranuke2018.cxx.
References genie::INukeMode::AsString(), genie::Intranuke2018::fAltOset, genie::Intranuke2018::fChPionFracAbsScale, 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::fNeutralPionFracAbsScale, genie::Intranuke2018::fNeutralPionMFPScale, genie::Intranuke2018::fNR, genie::Intranuke2018::fNucAbsFac, genie::Intranuke2018::fNucCEXFac, genie::Intranuke2018::fNucleonFracAbsScale, genie::Intranuke2018::fNucleonFracCExScale, genie::Intranuke2018::fNucleonFracInelScale, genie::Intranuke2018::fNucleonFracPiProdScale, genie::Intranuke2018::fNucleonMFPScale, genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fNucRmvE, genie::Intranuke2018::fPionFracCExScale, genie::Intranuke2018::fPionFracInelScale, genie::Intranuke2018::fPionFracPiProdScale, genie::Intranuke2018::fR0, genie::Intranuke2018::fUseOset, genie::Intranuke2018::fXsecNNCorr, genie::Algorithm::GetParam(), genie::Algorithm::GetParamDef(), genie::INukeHadroData2018::Instance(), genie::kIMdHA, LOG, pINFO, and genie::Algorithm::SubAlg().
|
private |
Definition at line 376 of file HAIntranuke2018.cxx.
References genie::RandomGen::Instance(), LOG, pNOTICE, and genie::RandomGen::RndFsi().
Referenced by ElasHA().
|
private |
Definition at line 428 of file HAIntranuke2018.cxx.
References genie::RandomGen::Instance(), LOG, pNOTICE, and genie::RandomGen::RndFsi().
Referenced by ElasHA().
|
virtual |
Reimplemented from genie::Intranuke2018.
Definition at line 113 of file HAIntranuke2018.cxx.
References genie::units::A, LOG, nuclA, pINFO, pNOTICE, and genie::Intranuke2018::ProcessEventRecord().
|
privatevirtual |
Implements genie::Intranuke2018.
Definition at line 125 of file HAIntranuke2018.cxx.
References genie::GHepRecord::AddParticle(), genie::INukeHadroFates::AsString(), genie::GHepParticle::FirstMother(), fNumIterations, HadronFateHA(), genie::kIHAFtUndefined, genie::kIStStableFinalState, genie::kPdgGamma, genie::kPdgKM, genie::kPdgKP, genie::kPdgNeutron, genie::kPdgPi0, genie::kPdgPiM, genie::kPdgPiP, genie::kPdgProton, LOG, genie::GHepParticle::Name(), genie::GHepRecord::Particle(), genie::GHepParticle::Pdg(), pERROR, pNOTICE, genie::GHepParticle::SetStatus(), and SimulateHadronicFinalStateKinematics().
Referenced by SimulateHadronicFinalStateKinematics().
|
private |
Definition at line 168 of file HAIntranuke2018.cxx.
References genie::INukeHadroFates::AsString(), genie::Intranuke2018::fDoFermi, genie::Intranuke2018::fFermiFac, genie::GHepParticle::FirstMother(), genie::Intranuke2018::fNuclmodel, genie::Intranuke2018::fNucRmvE, fNumIterations, genie::Intranuke2018::fRemnA, genie::Intranuke2018::fRemnP4, genie::Intranuke2018::fRemnZ, Inelastic(), InelasticHA(), genie::kIHAFtAbs, genie::kIHAFtCEx, genie::kIHAFtCmp, genie::kIHAFtInelas, genie::kIHAFtPiProd, genie::kIMdHA, LOG, genie::GHepParticle::Name(), genie::GHepRecord::Particle(), pINFO, pNOTICE, genie::utils::intranuke2018::PreEquilibrium(), pWARN, and SimulateHadronicFinalState().
Referenced by SimulateHadronicFinalState().
|
friend |
Definition at line 53 of file HAIntranuke2018.h.
|
mutableprivate |
Definition at line 82 of file HAIntranuke2018.h.
Referenced by SimulateHadronicFinalState(), and SimulateHadronicFinalStateKinematics().
|
mutableprivate |
value of A for the target nucleus in hA mode
Definition at line 81 of file HAIntranuke2018.h.
Referenced by HadronFateHA(), and ProcessEventRecord().