39 #define G4FTFModel_h 1
99 G4int& residualMassNumber,
G4int& residualCharge );
110 const G4int numberOfInvolvedNucleons,
117 const G4int numberOfInvolvedNucleons,
G4Nucleon* involvedNucleons[],
124 const G4int numberOfInvolvedNucleons,
G4ElasticHNScattering * theElastic
std::vector< G4ExcitedString * > G4ExcitedStringVector
G4V3DNucleus * GetWoundedNucleus() const
G4FTFModel(const G4String &modelName="FTF")
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepLorentzRotation G4LorentzRotation
G4bool AdjustNucleons(G4VSplitableHadron *SelectedAntiBaryon, G4Nucleon *ProjectileNucleon, G4VSplitableHadron *SelectedTargetNucleon, G4Nucleon *TargetNucleon, G4bool Annihilation)
G4ReactionProduct theProjectile
int operator!=(const G4FTFModel &right) const
G4V3DNucleus * GetTargetNucleus() const
G4int TargetResidualMassNumber
G4FTFParameters * theParameters
G4FTFAnnihilation * theAnnihilation
G4bool ExciteParticipants()
G4Nucleon * TheInvolvedNucleonsOfTarget[250]
const G4FTFModel & operator=(const G4FTFModel &right)
std::vector< G4VSplitableHadron * > theAdditionalString
G4FTFParticipants theParticipants
G4V3DNucleus * GetProjectileNucleus() const
G4ThreeVector GaussianPt(G4double AveragePt2, G4double maxPtSquare) const
G4int ProjectileResidualMassNumber
G4DiffractiveExcitation * theExcitation
virtual G4V3DNucleus * GetProjectileNucleus() const
virtual G4V3DNucleus * GetWoundedNucleus() const
G4ExcitedStringVector * BuildStrings()
G4bool ComputeNucleusProperties(G4V3DNucleus *nucleus, G4LorentzVector &nucleusMomentum, G4LorentzVector &residualMomentum, G4double &sumMasses, G4double &residualExcitationEnergy, G4double &residualMass, G4int &residualMassNumber, G4int &residualCharge)
G4Nucleon * TheInvolvedNucleonsOfProjectile[250]
void Init(const G4Nucleus &aNucleus, const G4DynamicParticle &aProjectile)
virtual void ModelDescription(std::ostream &) const
G4int ProjectileResidualCharge
G4bool CheckKinematics(const G4double sValue, const G4double sqrtS, const G4double projectileMass2, const G4double targetMass2, const G4double nucleusY, const G4bool isProjectileNucleus, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4double &targetWminus, G4double &projectileWplus, G4bool &success)
G4int NumberOfInvolvedNucleonsOfProjectile
void StoreInvolvedNucleon()
G4bool SamplingNucleonKinematics(G4double averagePt2, const G4double maxPt2, G4double dCor, G4V3DNucleus *nucleus, const G4LorentzVector &pResidual, const G4double residualMass, const G4int residualMassNumber, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4double &mass2)
G4bool GenerateDeltaIsobar(const G4double sqrtS, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4double &sumMasses)
G4bool FinalizeKinematics(const G4double w, const G4bool isProjectileNucleus, const G4LorentzRotation &boostFromCmsToLab, const G4double residualMass, const G4int residualMassNumber, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4LorentzVector &residual4Momentum)
G4int TargetResidualCharge
G4LorentzVector TargetResidual4Momentum
G4LorentzVector ProjectileResidual4Momentum
G4double ProjectileResidualExcitationEnergy
G4ExcitedStringVector * GetStrings()
G4int NumberOfInvolvedNucleonsOfTarget
G4double TargetResidualExcitationEnergy
CLHEP::HepLorentzVector G4LorentzVector
int operator==(const G4FTFModel &right) const