93 void StoreInvolvedNucleon();
94 void ReggeonCascade();
96 G4bool ExciteParticipants();
106 struct CommonVariables {
107 G4int TResidualMassNumber = 0, TResidualCharge = 0, PResidualMassNumber = 0,
108 PResidualCharge = 0, PResidualLambdaNumber = 0;
109 G4double SqrtS = 0.0, S = 0.0, SumMasses = 0.0,
110 TResidualExcitationEnergy = 0.0, TResidualMass = 0.0, TNucleonMass = 0.0,
111 PResidualExcitationEnergy = 0.0, PResidualMass = 0.0, PNucleonMass = 0.0,
112 Mprojectile = 0.0, M2projectile = 0.0, Pzprojectile = 0.0, Eprojectile = 0.0,
113 WplusProjectile = 0.0,
114 Mtarget = 0.0, M2target = 0.0, Pztarget = 0.0, Etarget = 0.0, WminusTarget = 0.0,
115 Mt2targetNucleon = 0.0, PztargetNucleon = 0.0, EtargetNucleon = 0.0,
116 Mt2projectileNucleon = 0.0, PzprojectileNucleon = 0.0, EprojectileNucleon = 0.0,
117 YtargetNucleus = 0.0, YprojectileNucleus = 0.0,
118 XminusNucleon = 0.0, XplusNucleon = 0.0, XminusResidual = 0.0, XplusResidual = 0.0;
119 G4ThreeVector PtNucleon, PtResidual, PtNucleonP, PtResidualP, PtNucleonT, PtResidualT;
120 G4LorentzVector Psum, Pprojectile, Ptmp, Ptarget, TResidual4Momentum, PResidual4Momentum;
123 G4int AdjustNucleonsAlgorithm_beforeSampling(
G4int interactionCase,
129 CommonVariables& common );
130 G4bool AdjustNucleonsAlgorithm_Sampling(
G4int interactionCase,
131 CommonVariables& common );
132 void AdjustNucleonsAlgorithm_afterSampling(
G4int interactionCase,
135 CommonVariables& common );
142 G4int& residualMassNumber,
G4int& residualCharge );
153 const G4int numberOfInvolvedNucleons,
161 const G4int numberOfInvolvedNucleons,
G4Nucleon* involvedNucleons[],
168 const G4int numberOfInvolvedNucleons,
176 G4Nucleon* TheInvolvedNucleonsOfTarget[250];
177 G4int NumberOfInvolvedNucleonsOfTarget;
179 G4Nucleon* TheInvolvedNucleonsOfProjectile[250];
180 G4int NumberOfInvolvedNucleonsOfProjectile;
187 std::vector< G4VSplitableHadron* > theAdditionalString;
193 G4int ProjectileResidualMassNumber;
194 G4int ProjectileResidualCharge;
195 G4int ProjectileResidualLambdaNumber;
196 G4double ProjectileResidualExcitationEnergy;
199 G4int TargetResidualMassNumber;
200 G4int TargetResidualCharge;
201 G4double TargetResidualExcitationEnergy;
207 G4int NumberOfProjectileSpectatorNucleons;
208 G4int NumberOfTargetSpectatorNucleons;
209 G4int NumberOfNNcollisions;
234 if ( bmin_value < 0.0 || bmax_value < 0.0 || bmax_value < bmin_value )
return;
253 return NumberOfProjectileSpectatorNucleons;
257 return NumberOfTargetSpectatorNucleons;
261 return NumberOfNNcollisions;
std::vector< G4ExcitedString * > G4ExcitedStringVector
G4bool SampleBinInterval() const
const G4FTFModel & operator=(const G4FTFModel &right)=delete
void SetImpactParameter(const G4double b_value)
G4V3DNucleus * GetTargetNucleus() const
G4int GetNumberOfTargetSpectatorNucleons() const
G4ExcitedStringVector * GetStrings() override
G4bool operator!=(const G4FTFModel &right) const =delete
void SetBminBmax(const G4double bmin_value, const G4double bmax_value)
G4V3DNucleus * GetWoundedNucleus() const override
G4FTFModel(const G4FTFModel &right)=delete
G4double GetImpactParameter() const
G4V3DNucleus * GetProjectileNucleus() const override
void Init(const G4Nucleus &aNucleus, const G4DynamicParticle &aProjectile) override
G4int GetNumberOfNNcollisions() const
void ModelDescription(std::ostream &) const override
G4int GetNumberOfProjectileSpectatorNucleons() const
G4bool operator==(const G4FTFModel &right) const =delete
virtual G4V3DNucleus * GetProjectileNucleus() const
virtual G4V3DNucleus * GetWoundedNucleus() const