25 #ifndef _INTRANUKE_UTILS_2014_H_ 26 #define _INTRANUKE_UTILS_2014_H_ 28 #include <TGenPhaseSpace.h> 43 namespace intranuke2014
47 int pdgc,
const TLorentzVector & x4,
const TLorentzVector & p4,
double A,
48 double Z,
double mfp_scale_factor=1.0,
49 double nRpi=0.5,
double nRnuc=1.0,
double NR=3,
double R0=1.4);
53 int pdgc,
const TLorentzVector & x4,
const TLorentzVector & p4,
double A,
54 double Z,
double nRpi=0.5,
double nRnuc=1.0);
58 int pdgc,
const TLorentzVector & x4,
const TLorentzVector & p4,
double A);
62 const TLorentzVector & x4,
const TLorentzVector & p4,
63 double A,
double NR=3,
double R0=1.4);
67 int pdgc,
const TLorentzVector & x4,
const TLorentzVector & p4,
68 double A,
double Z,
double NR=3,
double R0=1.4);
82 double M3,
double M4, TLorentzVector tP1L, TLorentzVector tP2L,
83 TLorentzVector &tP3L, TLorentzVector &tP4L,
double C3CM, TLorentzVector &RemnP4,
double bindE=0);
91 TLorentzVector &RemnP4,
bool DoFermi,
double FermiFac,
double FermiMomentum,
const NuclearModelI* Nuclmodel);
94 double Minc,
double ke,
double Mtarg,
double Mtwopart,
double Mpi);
115 #endif // _INTRANUKE_UTILS_2014_H_ #include "Numerical/GSFunc.h"
bool TwoBodyCollision(GHepRecord *ev, int pcode, int tcode, int scode, int s2code, double C3CM, GHepParticle *p, GHepParticle *t, int &RemnA, int &RemnZ, TLorentzVector &RemnP4, EINukeMode mode=kIMdHA)
Intranuke utility functions.
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
double CalculateEta(double Minc, double ke, double Mtarg, double Mtwopart, double Mpi)
void StepParticle(GHepParticle *p, double step, double nuclear_radius=-1.)
Step particle.
void Equilibrium(GHepRecord *ev, GHepParticle *p, int &RemnA, int &RemnZ, TLorentzVector &RemnP4, bool DoFermi, double FermiFac, const NuclearModelI *Nuclmodel, double NucRmvE, EINukeMode mode=kIMdHN)
bool ThreeBodyKinematics(GHepRecord *ev, GHepParticle *p, int tcode, GHepParticle *s1, GHepParticle *s2, GHepParticle *s3, bool DoFermi=false, double FermiFac=0, double FermiMomentum=0, const NuclearModelI *Nuclmodel=(const NuclearModelI *) 0)
bool TwoBodyKinematics(double M3, double M4, TLorentzVector tP1L, TLorentzVector tP2L, TLorentzVector &tP3L, TLorentzVector &tP4L, double C3CM, TLorentzVector &RemnP4, double bindE=0)
double MeanFreePath(int pdgc, const TLorentzVector &x4, const TLorentzVector &p4, double A, double Z, double nRpi=0.5, double nRnuc=1.0)
Mean free path (pions, nucleons)
double MeanFreePath_Delta(int pdgc, const TLorentzVector &x4, const TLorentzVector &p4, double A)
Mean free path (Delta++ test)
void PreEquilibrium(GHepRecord *ev, GHepParticle *p, int &RemnA, int &RemnZ, TLorentzVector &RemnP4, bool DoFermi, double FermiFac, const NuclearModelI *Nuclmodel, double NucRmvE, EINukeMode mode=kIMdHN)
bool PionProduction(GHepRecord *ev, GHepParticle *p, GHepParticle *s1, GHepParticle *s2, GHepParticle *s3, int &RemnA, int &RemnZ, TLorentzVector &RemnP4, bool DoFermi, double FermiFac, double FermiMomentum, const NuclearModelI *Nuclmodel)
double Dist2Exit(const TLorentzVector &x4, const TLorentzVector &p4, double A, double NR=3, double R0=1.4)
Distance to exit.
bool PhaseSpaceDecay(GHepRecord *ev, GHepParticle *p, const PDGCodeList &pdgv, TLorentzVector &RemnP4, double NucRmvE, EINukeMode mode=kIMdHA)
general phase space decay method
double Dist2ExitMFP(int pdgc, const TLorentzVector &x4, const TLorentzVector &p4, double A, double Z, double NR=3, double R0=1.4)
Distance to exit.
GENIE's GHEP MC event record.
STDHEP-like event record entry that can fit a particle or a nucleus.
double ProbSurvival(int pdgc, const TLorentzVector &x4, const TLorentzVector &p4, double A, double Z, double mfp_scale_factor=1.0, double nRpi=0.5, double nRnuc=1.0, double NR=3, double R0=1.4)
Hadron survival probability.