18 #include <TLorentzVector.h>
20 #include <TParticlePDG.h>
47 using namespace genie;
48 using namespace genie::constants;
75 const Interaction * interaction = evrec -> Summary();
76 const InitialState & init_state = interaction -> InitState();
89 int eject_nucleon_pdg = this->
SRCRecoilPDG( *nucleon, tgt );
100 int eject_nucleon_pdg = 0;
103 const int nucleon_pdgc = nucleon.
Pdg();
105 double pN2 = TMath::Power(nucleon.
P4()->Rho(),2.);
107 double kF =
fNuclModel -> LocalFermiMomentum( tgt,
109 nucleon.
X4()->Vect().Mag() );
111 if (TMath::Sqrt(pN2) > kF) {
114 double prob = rnd->
RndGen().Rndm();
118 return eject_nucleon_pdg;
140 if (fPNPairPercentage < 0. || fPNPairPercentage > 1.) {
143 <<
"PNPairPercentage either less than 0 or greater than 1: Exiting" ;
virtual bool EmitSecondNucleon(GHepRecord *evrec, const int eject_nucleon_pdg) const
static RandomGen * Instance()
Access instance.
const TLorentzVector * P4(void) const
bool IsNucleus(void) const
A singleton holding random number generator classes. All random number generation in GENIE should tak...
Summary information for an interaction.
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
virtual void Configure(const Registry &config)
void ProcessEventRecord(GHepRecord *event_rec) const
virtual GHepParticle * TargetNucleus(void) const
int SRCRecoilPDG(const GHepParticle &nucleon, const Target &tgt) const
Interface to drive the a second nucleon emission from a nucleus Specfic impelmentations will have dif...
const TLorentzVector * X4(void) const
A registry. Provides the container for algorithm configuration parameters.
virtual GHepParticle * HitNucleon(void) const
TRandom3 & RndGen(void) const
rnd number generator for generic usage
const NuclearModelI * fNuclModel
nuclear model
void Configure(const Registry &config)
bool GetParamDef(const RgKey &name, T &p, const T &def) const
const Target & Tgt(void) const
GENIE's GHEP MC event record.
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
STDHEP-like event record entry that can fit a particle or a nucleus.
Initial State information.