26#ifndef G4QGSParticipants_h
27#define G4QGSParticipants_h 1
83 G4int& residualMassNumber,
G4int& residualCharge );
93 const G4int numberOfInvolvedNucleons,
99 const G4int numberOfInvolvedNucleons,
G4Nucleon* involvedNucleons[],
105 const G4int numberOfInvolvedNucleons,
const G4double ThresholdParameter
G4int TargetResidualMassNumber
G4V3DNucleus * GetTargetNucleus() const
G4double GetExcitationEnergyPerWoundedNucleon()
G4double GetMaxPt2ofNuclearDestruction()
G4LorentzVector ProjectileResidual4Momentum
G4double R2ofNuclearDestruction
G4double ExcitationEnergyPerWoundedNucleon
G4double ProjectileResidualExcitationEnergy
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)
void SetR2ofNuclearDestruction(const G4double aValue)
G4double GetDofNuclearDestruction()
G4double SampleX(G4double anXmin, G4int nSea, G4int theTotalSea, G4double aBeta)
G4ThreeVector theCurrentVelocity
void SetDofNuclearDestruction(const G4double aValue)
G4QuarkExchange theQuarkExchange
G4SingleDiffractiveExcitation theSingleDiffExcitation
void SetExcitationEnergyPerWoundedNucleon(const G4double aValue)
virtual void DoLorentzBoost(G4ThreeVector aBoost)
std::vector< G4InteractionContent * > theInteractions
G4double GetR2ofNuclearDestruction()
G4bool DeterminePartonMomenta()
G4Nucleon * TheInvolvedNucleonsOfTarget[250]
G4PartonPair * GetNextPartonPair()
void SetMaxPt2ofNuclearDestruction(const G4double aValue)
virtual G4VSplitableHadron * SelectInteractions(const G4ReactionProduct &thePrimary)
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)
G4bool operator!=(const G4QGSParticipants &right) const
G4bool FinalizeKinematics(const G4double w, const G4bool isProjectileNucleus, const G4LorentzRotation &boostFromCmsToLab, const G4double residualMass, const G4int residualMassNumber, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4LorentzVector &residual4Momentum)
G4ThreeVector GaussianPt(G4double AveragePt2, G4double maxPtSquare) const
void SetPt2ofNuclearDestruction(const G4double aValue)
G4double TargetResidualExcitationEnergy
void PerformDiffractiveCollisions()
G4bool GenerateDeltaIsobar(const G4double sqrtS, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4double &sumMasses)
G4QGSDiffractiveExcitation theDiffExcitaton
G4bool ComputeNucleusProperties(G4V3DNucleus *nucleus, G4LorentzVector &nucleusMomentum, G4LorentzVector &residualMomentum, G4double &sumMasses, G4double &residualExcitationEnergy, G4double &residualMass, G4int &residualMassNumber, G4int &residualCharge)
G4QGSMSplitableHadron * theProjectileSplitable
void StoreInvolvedNucleon()
void StartPartonPairLoop()
G4double CofNuclearDestruction
G4Nucleon * TheInvolvedNucleonsOfProjectile[250]
void GetList(const G4ReactionProduct &thePrimary)
void PrepareInitialState(const G4ReactionProduct &thePrimary)
G4double DofNuclearDestruction
G4ReactionProduct theProjectile
virtual ~G4QGSParticipants()
void SetCofNuclearDestruction(const G4double aValue)
const G4double QGSMThreshold
G4bool operator==(const G4QGSParticipants &right) const
G4double MaxPt2ofNuclearDestruction
G4LorentzVector TargetResidual4Momentum
G4V3DNucleus * GetProjectileNucleus() const
G4int NumberOfInvolvedNucleonsOfProjectile
const G4double theNucleonRadius
G4double GetPt2ofNuclearDestruction()
void BuildInteractions(const G4ReactionProduct &thePrimary)
G4int ProjectileResidualCharge
G4int TargetResidualCharge
G4double Pt2ofNuclearDestruction
const G4QGSParticipants & operator=(const G4QGSParticipants &right)
std::vector< G4PartonPair * > thePartonPairs
std::vector< G4VSplitableHadron * > theTargets
G4int ProjectileResidualMassNumber
void PerformSoftCollisions()
G4int NumberOfInvolvedNucleonsOfTarget
G4double GetCofNuclearDestruction()
virtual void DoLorentzBoost(const G4LorentzVector &theBoost)=0
G4V3DNucleus * theNucleus
void operator()(G4InteractionContent *aC)
void operator()(G4PartonPair *aP)
void operator()(G4VSplitableHadron *aS)