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