45#ifndef G4InelasticInteraction_h
46#define G4InelasticInteraction_h 1
69 {theProductionModels.push_back(aModel);}
103 G4bool& incidentHasChanged,
111 G4bool& incidentHasChanged);
126 std::vector<G4VIsotopeProduction*> theProductionModels;
G4IsoResult * ExtractResidualNucleus(const G4Nucleus &aNucleus)
void TurnOnIsotopeProduction()
static G4IsoParticleChange * GetIsotopeProductionInfo()
void Rotate(G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen)
G4double Pmltpc(G4int np, G4int nm, G4int nz, G4int n, G4double b, G4double c)
void GetNormalizationConstant(const G4double availableEnergy, G4double &n, G4double &anpn)
G4ReactionDynamics theReactionDynamics
void SetUpPions(const G4int np, const G4int nm, const G4int nz, G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen)
void CalculateMomenta(G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen, const G4HadProjectile *originalIncident, const G4DynamicParticle *originalTarget, G4ReactionProduct &modifiedOriginal, G4Nucleus &targetNucleus, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged, G4bool &targetHasChanged, G4bool quasiElastic)
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const
void RegisterIsotopeProductionModel(G4VIsotopeProduction *aModel)
void DoIsotopeCounting(const G4HadProjectile *theProjectile, const G4Nucleus &aNucleus)
virtual ~G4InelasticInteraction()
G4bool MarkLeadingStrangeParticle(const G4ReactionProduct ¤tParticle, const G4ReactionProduct &targetParticle, G4ReactionProduct &leadParticle)
void SetUpChange(G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged)