Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4FTFParameters Class Reference

#include <G4FTFParameters.hh>

Public Member Functions

 G4FTFParameters (const G4ParticleDefinition *, G4int theA, G4int theZ, G4double s)
 
 ~G4FTFParameters ()
 
void SethNcmsEnergy (const G4double s)
 
void SetTotalCrossSection (const G4double Xtotal)
 
void SetElastisCrossSection (const G4double Xelastic)
 
void SetInelasticCrossSection (const G4double Xinelastic)
 
void SetProbabilityOfElasticScatt (const G4double Xtotal, const G4double Xelastic)
 
void SetProbabilityOfElasticScatt (const G4double aValue)
 
void SetProbabilityOfAnnihilation (const G4double aValue)
 
void SetRadiusOfHNinteractions2 (const G4double Radius2)
 
void SetSlope (const G4double Slope)
 
void SetGamma0 (const G4double Gamma0)
 
G4double GammaElastic (const G4double impactsquare)
 
void SetAvaragePt2ofElasticScattering (const G4double aPt2)
 
void SetMagQuarkExchange (const G4double aValue)
 
void SetSlopeQuarkExchange (const G4double aValue)
 
void SetDeltaProbAtQuarkExchange (const G4double aValue)
 
void SetProbOfSameQuarkExchange (const G4double aValue)
 
void SetProjMinDiffMass (const G4double aValue)
 
void SetProjMinNonDiffMass (const G4double aValue)
 
void SetProbabilityOfProjDiff (const G4double aValue)
 
void SetTarMinDiffMass (const G4double aValue)
 
void SetTarMinNonDiffMass (const G4double aValue)
 
void SetProbabilityOfTarDiff (const G4double aValue)
 
void SetAveragePt2 (const G4double aValue)
 
void SetProbLogDistr (const G4double aValue)
 
void SetPt2Kink (const G4double aValue)
 
void SetQuarkProbabilitiesAtGluonSplitUp (const G4double Puubar, const G4double Pddbar, const G4double Pssbar)
 
void SetMaxNumberOfCollisions (const G4double aValue, const G4double bValue)
 
void SetProbOfInteraction (const G4double aValue)
 
void SetCofNuclearDestruction (const G4double aValue)
 
void SetR2ofNuclearDestruction (const G4double aValue)
 
void SetExcitationEnergyPerWoundedNucleon (const G4double aValue)
 
void SetDofNuclearDestruction (const G4double aValue)
 
void SetPt2ofNuclearDestruction (const G4double aValue)
 
void SetMaxPt2ofNuclearDestruction (const G4double aValue)
 
G4double GetTotalCrossSection ()
 
G4double GetElasticCrossSection ()
 
G4double GetInelasticCrossSection ()
 
G4double GetProbabilityOfInteraction (const G4double impactsquare)
 
G4double GetInelasticProbability (const G4double impactsquare)
 
G4double GetProbabilityOfElasticScatt ()
 
G4double GetSlope ()
 
G4double GetProbabilityOfAnnihilation ()
 
G4double GetAvaragePt2ofElasticScattering ()
 
G4double GetMagQuarkExchange ()
 
G4double GetSlopeQuarkExchange ()
 
G4double GetDeltaProbAtQuarkExchange ()
 
G4double GetProbOfSameQuarkExchange ()
 
G4double GetProjMinDiffMass ()
 
G4double GetProjMinNonDiffMass ()
 
G4double GetProbabilityOfProjDiff ()
 
G4double GetTarMinDiffMass ()
 
G4double GetTarMinNonDiffMass ()
 
G4double GetProbabilityOfTarDiff ()
 
G4double GetAveragePt2 ()
 
G4double GetProbLogDistr ()
 
G4double GetPt2Kink ()
 
std::vector< G4doubleGetQuarkProbabilitiesAtGluonSplitUp ()
 
G4double GetMaxNumberOfCollisions ()
 
G4double GetProbOfInteraction ()
 
G4double GetCofNuclearDestruction ()
 
G4double GetR2ofNuclearDestruction ()
 
G4double GetExcitationEnergyPerWoundedNucleon ()
 
G4double GetDofNuclearDestruction ()
 
G4double GetPt2ofNuclearDestruction ()
 
G4double GetMaxPt2ofNuclearDestruction ()
 
 G4FTFParameters ()
 

Public Attributes

G4double FTFhNcmsEnergy
 
G4ChipsComponentXSFTFxsManager
 
G4double FTFXtotal
 
G4double FTFXelastic
 
G4double FTFXinelastic
 
G4double FTFXannihilation
 
G4double ProbabilityOfAnnihilation
 
G4double ProbabilityOfElasticScatt
 
G4double RadiusOfHNinteractions2
 
G4double FTFSlope
 
G4double AvaragePt2ofElasticScattering
 
G4double FTFGamma0
 
G4double MagQuarkExchange
 
G4double SlopeQuarkExchange
 
G4double DeltaProbAtQuarkExchange
 
G4double ProbOfSameQuarkExchange
 
G4double ProjMinDiffMass
 
G4double ProjMinNonDiffMass
 
G4double ProbabilityOfProjDiff
 
G4double TarMinDiffMass
 
G4double TarMinNonDiffMass
 
G4double ProbabilityOfTarDiff
 
G4double AveragePt2
 
G4double ProbLogDistr
 
G4double Pt2kink
 
std::vector< G4doubleQuarkProbabilitiesAtGluonSplitUp
 
G4double MaxNumberOfCollisions
 
G4double ProbOfInelInteraction
 
G4double CofNuclearDestruction
 
G4double R2ofNuclearDestruction
 
G4double ExcitationEnergyPerWoundedNucleon
 
G4double DofNuclearDestruction
 
G4double Pt2ofNuclearDestruction
 
G4double MaxPt2ofNuclearDestruction
 

Detailed Description

Definition at line 39 of file G4FTFParameters.hh.

Constructor & Destructor Documentation

◆ G4FTFParameters() [1/2]

G4FTFParameters::G4FTFParameters ( const G4ParticleDefinition particle,
G4int  theA,
G4int  theZ,
G4double  s 
)

Definition at line 71 of file G4FTFParameters.cc.

75{
76
77 //A.R. 25-Jul-2012 Coverity fix.
78 FTFXannihilation = 0.0;
79 FTFhNcmsEnergy = 0.0;
81
82 G4int ProjectilePDGcode = particle->GetPDGEncoding();
83 G4int ProjectileabsPDGcode = std::abs(ProjectilePDGcode);
84 G4double ProjectileMass = particle->GetPDGMass();
85 G4double ProjectileMass2 =ProjectileMass*ProjectileMass;
86
87 G4int ProjectileBaryonNumber(0), AbsProjectileBaryonNumber(0);
88 G4int AbsProjectileCharge(0);
89 G4bool ProjectileIsNucleus=false;
90
91 if(std::abs(particle->GetBaryonNumber()) > 1)
92 { // The projectile is a nucleus
93 ProjectileIsNucleus =true;
94 ProjectileBaryonNumber =particle->GetBaryonNumber();
95 AbsProjectileBaryonNumber=std::abs(ProjectileBaryonNumber);
96 AbsProjectileCharge =(G4int) particle->GetPDGCharge();
97
98 if(ProjectileBaryonNumber > 1)
99 { ProjectilePDGcode= 2212; ProjectileabsPDGcode=2212;} // Proton
100 else { ProjectilePDGcode=-2212; ProjectileabsPDGcode=2212;} // Anti-Proton
101
102 ProjectileMass =G4Proton::Proton()->GetPDGMass();
103 ProjectileMass2=sqr(ProjectileMass);
104 }
105
106 G4double TargetMass = G4Proton::Proton()->GetPDGMass();
107 G4double TargetMass2 = TargetMass*TargetMass;
108
109 G4double Plab = PlabPerParticle;
110 G4double Elab = std::sqrt(Plab*Plab+ProjectileMass2);
111 G4double KineticEnergy = Elab-ProjectileMass; // 31 May 2011
112
113 G4double S=ProjectileMass2 + TargetMass2 + 2.*TargetMass*Elab;
114
115//G4cout<<"Proj Plab "<<ProjectilePDGcode<<" "<<Plab<<G4endl;
116//G4cout<<"Mass KinE "<<ProjectileMass<<" "<<KineticEnergy<<G4endl;
117//G4cout<<" A Z "<<theA<<" "<<theZ<<G4endl;
118
119 G4double Ylab,Xtotal,Xelastic,Xannihilation;
120 G4int NumberOfTargetNucleons;
121
122 Ylab=0.5*std::log((Elab+Plab)/(Elab-Plab));
123
124 G4double ECMSsqr=S/GeV/GeV;
125 G4double SqrtS =std::sqrt(S)/GeV;
126//G4cout<<"Sqrt(s) "<<SqrtS<<G4endl;
127
128 TargetMass /=GeV; TargetMass2 /=(GeV*GeV);
129 ProjectileMass /=GeV; ProjectileMass2 /=(GeV*GeV);
130
131 static G4ChipsComponentXS* _instance = new G4ChipsComponentXS(); // Witek Pokorski
132 FTFxsManager = _instance;
133
134 Plab/=GeV;
135// G4double LogPlab = std::log( Plab );
136// G4double sqrLogPlab = LogPlab * LogPlab;
137
138 G4int NumberOfTargetProtons = theZ;
139 G4int NumberOfTargetNeutrons = theA-theZ;
140
141 NumberOfTargetNucleons = NumberOfTargetProtons + NumberOfTargetNeutrons;
142
143 if( (ProjectilePDGcode == 2212) ||
144 (ProjectilePDGcode == 2112) ) //------Projectile is nucleon --------
145 {
146 G4double XtotPP = FTFxsManager->
147 GetTotalElementCrossSection( particle,KineticEnergy,1,0);
149 G4double XtotPN = FTFxsManager->
150 GetTotalElementCrossSection( Neutron,KineticEnergy,1,0);
151
152
153 G4double XelPP = FTFxsManager->
154 GetElasticElementCrossSection(particle,KineticEnergy,1,0);
155 G4double XelPN = FTFxsManager->
156 GetElasticElementCrossSection( Neutron,KineticEnergy,1,0);
157//G4cout<<"Xs "<<XtotPP/millibarn<<" "<<XelPP/millibarn<<G4endl;
158//G4cout<<"Xs "<<XtotPN/millibarn<<" "<<XelPN/millibarn<<G4endl;
159 if(!ProjectileIsNucleus)
160 { // Projectile is hadron
161 Xtotal = ( NumberOfTargetProtons * XtotPP +
162 NumberOfTargetNeutrons * XtotPN ) / NumberOfTargetNucleons;
163 Xelastic = ( NumberOfTargetProtons * XelPP +
164 NumberOfTargetNeutrons * XelPN ) / NumberOfTargetNucleons;
165 } else
166 { // Projectile is a nucleus
167 Xtotal = (
168 AbsProjectileCharge *NumberOfTargetProtons *XtotPP +
169 (AbsProjectileBaryonNumber-AbsProjectileCharge)*NumberOfTargetNeutrons*XtotPP +
170 ( AbsProjectileCharge *NumberOfTargetNeutrons +
171 (AbsProjectileBaryonNumber-AbsProjectileCharge)*NumberOfTargetProtons)*XtotPN
172 )/(AbsProjectileBaryonNumber*NumberOfTargetNucleons);
173
174 Xelastic= (
175 AbsProjectileCharge *NumberOfTargetProtons *XelPP +
176 (AbsProjectileBaryonNumber-AbsProjectileCharge)*NumberOfTargetNeutrons*XelPP +
177 ( AbsProjectileCharge *NumberOfTargetNeutrons +
178 (AbsProjectileBaryonNumber-AbsProjectileCharge)*NumberOfTargetProtons)*XelPN
179 )/(AbsProjectileBaryonNumber*NumberOfTargetNucleons);
180 }
181
182 Xannihilation = 0.;
183 Xtotal/=millibarn;
184 Xelastic/=millibarn;
185 }
186 else if( ProjectilePDGcode < -1000 ) //------Projectile is anti_baryon --------
187 {
188
189 G4double X_a(0.), X_b(0.), X_c(0.), X_d(0.);
190 G4double MesonProdThreshold=ProjectileMass+TargetMass+(2.*0.14+0.016); // 2 Mpi +DeltaE;
191
192 if(PlabPerParticle < 40.*MeV)
193 { // Low energy limits. Projectile at rest.
194 Xtotal= 1512.9; // mb
195 Xelastic= 473.2; // mb
196 X_a= 625.1; // mb
197 X_b= 9.780; // mb
198 X_c= 49.989; // mb
199 X_d= 6.614; // mb
200 }
201 else
202 { // Total and elastic cross section of PbarP interactions a'la Arkhipov
203 G4double LogS=std::log(ECMSsqr/33.0625);
204 G4double Xasmpt=36.04+0.304*LogS*LogS; // mb
205
206 LogS=std::log(SqrtS/20.74);
207 G4double Basmpt=11.92+0.3036*LogS*LogS; // GeV^(-2)
208 G4double R0=std::sqrt(0.40874044*Xasmpt-Basmpt); // GeV^(-1)
209
210 G4double FlowF=SqrtS/
211 std::sqrt(ECMSsqr*ECMSsqr+ProjectileMass2*ProjectileMass2+TargetMass2*TargetMass2-
212 2.*ECMSsqr*ProjectileMass2 -2.*ECMSsqr*TargetMass2 -2.*ProjectileMass2*TargetMass2);
213
214 Xtotal=Xasmpt*(1.+13.55*FlowF/R0/R0/R0*
215 (1.-4.47/SqrtS+12.38/ECMSsqr-12.43/SqrtS/ECMSsqr)); // mb
216
217 Xasmpt=4.4+0.101*LogS*LogS; // mb
218 Xelastic=Xasmpt*(1.+59.27*FlowF/R0/R0/R0*
219 (1.-6.95/SqrtS+23.54/ECMSsqr-25.34/SqrtS/ECMSsqr)); // mb
220//G4cout<<"Param Xtotal Xelastic "<<Xtotal<<" "<<Xelastic<<G4endl;
221//G4cout<<"FlowF "<<FlowF<<" SqrtS "<<SqrtS<<G4endl;
222//G4cout<<"Param Xelastic-NaN "<<Xelastic<<" "<<1.5*16.654/pow(ECMSsqr/2.176/2.176,2.2)<<" "<<ECMSsqr<<G4endl;
223 X_a=25.*FlowF; // mb, 3-shirts diagram
224
225 if(SqrtS < MesonProdThreshold)
226 {
227 X_b=3.13+140.*std::pow(MesonProdThreshold-SqrtS,2.5);// mb anti-quark-quark annihilation
228 Xelastic-=3.*X_b; // Xel-X(PbarP->NNbar)
229 } else
230 {
231 X_b=6.8/SqrtS; // mb anti-quark-quark annihilation
232 Xelastic-=3.*X_b; // Xel-X(PbarP->NNbar)
233 }
234
235 X_c=2.*FlowF*sqr(ProjectileMass+TargetMass)/ECMSsqr; // mb rearrangement
236
237//G4cout<<"Old new Xa "<<35.*FlowF<<" "<<25.*FlowF<<G4endl;
238
239 X_d=23.3/ECMSsqr; // mb anti-quark-quark string creation
240 }
241//---------------------------------------------------------------
242//G4cout<<"Param Xtotal Xelastic "<<Xtotal<<" "<<Xelastic<<G4endl;
243//G4cout<<"Para a b c d "<<X_a<<" "<<X_b<<" "<<X_c<<" "<<X_d<<G4endl;
244//G4cout<<"Para a b c d "<<X_a<<" "<<5.*X_b<<" "<<5.*X_c<<" "<<6.*X_d<<G4endl;
245 G4double Xann_on_P(0.), Xann_on_N(0.);
246
247 if(ProjectilePDGcode == -2212) // Pbar+P/N
248 {Xann_on_P=X_a + X_b*5. + X_c*5. + X_d*6.; Xann_on_N=X_a + X_b*4. + X_c*4. + X_d*4.;}
249 else if(ProjectilePDGcode == -2112) // NeutrBar+P/N
250 {Xann_on_P=X_a + X_b*4. + X_c*4. + X_d*4.; Xann_on_N=X_a + X_b*5. + X_c*5. + X_d*6.;}
251 else if(ProjectilePDGcode == -3122) // LambdaBar+P/N
252 {Xann_on_P=X_a + X_b*3. + X_c*3. + X_d*2.; Xann_on_N=X_a + X_b*3. + X_c*3. + X_d*2.;}
253 else if(ProjectilePDGcode == -3112) // Sigma-Bar+P/N
254 {Xann_on_P=X_a + X_b*2. + X_c*2. + X_d*0.; Xann_on_N=X_a + X_b*4. + X_c*4. + X_d*2.;}
255 else if(ProjectilePDGcode == -3212) // Sigma0Bar+P/N
256 {Xann_on_P=X_a + X_b*3. + X_c*3. + X_d*2.; Xann_on_N=X_a + X_b*3. + X_c*3. + X_d*2.;}
257 else if(ProjectilePDGcode == -3222) // Sigma+Bar+P/N
258 {Xann_on_P=X_a + X_b*4. + X_c*4. + X_d*2.; Xann_on_N=X_a + X_b*2. + X_c*2. + X_d*0.;}
259 else if(ProjectilePDGcode == -3312) // Xi-Bar+P/N
260 {Xann_on_P=X_a + X_b*1. + X_c*1. + X_d*0.; Xann_on_N=X_a + X_b*2. + X_c*2. + X_d*0.;}
261 else if(ProjectilePDGcode == -3322) // Xi0Bar+P/N
262 {Xann_on_P=X_a + X_b*2. + X_c*2. + X_d*0.; Xann_on_N=X_a + X_b*1. + X_c*1. + X_d*0.;}
263 else if(ProjectilePDGcode == -3334) // Omega-Bar+P/N
264 {Xann_on_P=X_a + X_b*0. + X_c*0. + X_d*0.; Xann_on_N=X_a + X_b*0. + X_c*0. + X_d*0.;}
265 else {G4cout<<"Unknown anti-baryon for FTF annihilation"<<G4endl;}
266//---------------------------------------------------------------
267
268//G4cout<<"Sum "<<Xann_on_P<<G4endl;
269
270 if(!ProjectileIsNucleus)
271 { // Projectile is anti-baryon
272 Xannihilation = ( NumberOfTargetProtons * Xann_on_P +
273 NumberOfTargetNeutrons * Xann_on_N ) / NumberOfTargetNucleons;
274 } else
275 { // Projectile is a nucleus
276 Xannihilation=(
277 ( AbsProjectileCharge *NumberOfTargetProtons+
278 (AbsProjectileBaryonNumber-AbsProjectileCharge)*NumberOfTargetNeutrons )*Xann_on_P +
279 ( AbsProjectileCharge *NumberOfTargetNeutrons+
280 (AbsProjectileBaryonNumber-AbsProjectileCharge)*NumberOfTargetProtons )*Xann_on_N
281 )/(AbsProjectileBaryonNumber*NumberOfTargetNucleons);
282 }
283
284 G4double Xftf=0.;
285 MesonProdThreshold=ProjectileMass+TargetMass+(0.14+0.08); // Mpi +DeltaE
286 if(SqrtS > MesonProdThreshold) {Xftf=36.*(1.-MesonProdThreshold/SqrtS);}
287
288 Xtotal = Xelastic + Xannihilation + Xftf;
289/*
290G4cout<<"Plab Xtotal, Xelastic Xinel Xftf "<<Plab<<" "<<Xtotal<<" "<<Xelastic<<" "<<Xtotal-Xelastic<<" "<<Xtotal-Xelastic-Xannihilation<<G4endl;
291G4cout<<"Plab Xelastic/Xtotal, Xann/Xin "<<Plab<<" "<<Xelastic/Xtotal<<" "<<Xannihilation/(Xtotal-Xelastic)<<G4endl;
292//G4int Uzhi; G4cin>>Uzhi;
293*/
294//---------------------------------------------------------------
295 }
296 else if( ProjectilePDGcode == 211 ) //------Projectile is PionPlus -------
297 {
298 G4double XtotPiP = FTFxsManager->
299 GetTotalElementCrossSection( particle,KineticEnergy,1,0);
301 G4double XtotPiN = FTFxsManager->
302 GetTotalElementCrossSection( PionMinus,KineticEnergy,1,0);
303
304 G4double XelPiP = FTFxsManager->
305 GetElasticElementCrossSection(particle,KineticEnergy,1,0);
306 G4double XelPiN = FTFxsManager->
307 GetElasticElementCrossSection( PionMinus,KineticEnergy,1,0);
308
309 Xtotal = ( NumberOfTargetProtons * XtotPiP +
310 NumberOfTargetNeutrons * XtotPiN ) / NumberOfTargetNucleons;
311 Xelastic = ( NumberOfTargetProtons * XelPiP +
312 NumberOfTargetNeutrons * XelPiN ) / NumberOfTargetNucleons;
313 Xannihilation = 0.;
314 Xtotal/=millibarn;
315 Xelastic/=millibarn;
316 }
317 else if( ProjectilePDGcode == -211 ) //------Projectile is PionMinus -------
318 {
319 G4double XtotPiP = FTFxsManager->
320 GetTotalElementCrossSection( particle,KineticEnergy,1,0);
322 G4double XtotPiN = FTFxsManager->
323 GetTotalElementCrossSection( PionPlus,KineticEnergy,1,0);
324
325 G4double XelPiP = FTFxsManager->
326 GetElasticElementCrossSection(particle,KineticEnergy,1,0);
327 G4double XelPiN = FTFxsManager->
328 GetElasticElementCrossSection( PionPlus,KineticEnergy,1,0);
329
330 Xtotal = ( NumberOfTargetProtons * XtotPiP +
331 NumberOfTargetNeutrons * XtotPiN ) / NumberOfTargetNucleons;
332 Xelastic = ( NumberOfTargetProtons * XelPiP +
333 NumberOfTargetNeutrons * XelPiN ) / NumberOfTargetNucleons;
334 Xannihilation = 0.;
335 Xtotal/=millibarn;
336 Xelastic/=millibarn;
337 }
338
339 else if( ProjectilePDGcode == 111 ) //------Projectile is PionZero -------
340 {
342 G4double XtotPipP= FTFxsManager->
343 GetTotalElementCrossSection( PionPlus,KineticEnergy,1,0);
344
346 G4double XtotPimP= FTFxsManager->
347 GetTotalElementCrossSection( PionMinus,KineticEnergy,1,0);
348
349 G4double XelPipP = FTFxsManager->
350 GetElasticElementCrossSection( PionPlus,KineticEnergy,1,0);
351 G4double XelPimP = FTFxsManager->
352 GetElasticElementCrossSection( PionMinus,KineticEnergy,1,0);
353
354 G4double XtotPiP= (XtotPipP + XtotPimP)/2.;
355 G4double XtotPiN=XtotPiP;
356 G4double XelPiP = (XelPipP + XelPimP )/2.;
357 G4double XelPiN = XelPiP;
358
359 Xtotal = ( NumberOfTargetProtons * XtotPiP +
360 NumberOfTargetNeutrons * XtotPiN ) / NumberOfTargetNucleons;
361 Xelastic = ( NumberOfTargetProtons * XelPiP +
362 NumberOfTargetNeutrons * XelPiN ) / NumberOfTargetNucleons;
363 Xannihilation = 0.;
364
365 Xtotal/=millibarn;
366 Xelastic/=millibarn;
367 }
368 else if( ProjectilePDGcode == 321 ) //------Projectile is KaonPlus -------
369 {
370 G4double XtotKP = FTFxsManager->
371 GetTotalElementCrossSection( particle,KineticEnergy,1,0);
372
374 G4double XtotKN = FTFxsManager->
375 GetTotalElementCrossSection( KaonMinus,KineticEnergy,1,0);
376
377 G4double XelKP = FTFxsManager->
378 GetElasticElementCrossSection(particle,KineticEnergy,1,0);
379 G4double XelKN = FTFxsManager->
380 GetElasticElementCrossSection( KaonMinus,KineticEnergy,1,0);
381
382 Xtotal = ( NumberOfTargetProtons * XtotKP +
383 NumberOfTargetNeutrons * XtotKN ) / NumberOfTargetNucleons;
384 Xelastic = ( NumberOfTargetProtons * XelKP +
385 NumberOfTargetNeutrons * XelKN ) / NumberOfTargetNucleons;
386 Xannihilation = 0.;
387
388 Xtotal/=millibarn;
389 Xelastic/=millibarn;
390 }
391 else if( ProjectilePDGcode ==-321 ) //------Projectile is KaonMinus ------
392 {
393 G4double XtotKP = FTFxsManager->
394 GetTotalElementCrossSection( particle,KineticEnergy,1,0);
395
397 G4double XtotKN = FTFxsManager->
398 GetTotalElementCrossSection( KaonPlus,KineticEnergy,1,0);
399
400 G4double XelKP = FTFxsManager->
401 GetElasticElementCrossSection(particle,KineticEnergy,1,0);
402
403 G4double XelKN = FTFxsManager->
404 GetElasticElementCrossSection(KaonPlus,KineticEnergy,1,0);
405
406 Xtotal = ( NumberOfTargetProtons * XtotKP +
407 NumberOfTargetNeutrons * XtotKN ) / NumberOfTargetNucleons;
408 Xelastic = ( NumberOfTargetProtons * XelKP +
409 NumberOfTargetNeutrons * XelKN ) / NumberOfTargetNucleons;
410 Xannihilation = 0.;
411
412 Xtotal/=millibarn;
413 Xelastic/=millibarn;
414 }
415 else if((ProjectilePDGcode == 311) ||
416 (ProjectilePDGcode == 130) ||
417 (ProjectilePDGcode == 310)) //Projectile is KaonZero
418 {
420 G4double XtotKpP= FTFxsManager->
421 GetTotalElementCrossSection( KaonPlus,KineticEnergy,1,0);
422
424 G4double XtotKmP= FTFxsManager->
425 GetTotalElementCrossSection( KaonMinus,KineticEnergy,1,0);
426
427 G4double XelKpP = FTFxsManager->
428 GetElasticElementCrossSection( KaonPlus,KineticEnergy,1,0);
429 G4double XelKmP = FTFxsManager->
430 GetElasticElementCrossSection( KaonMinus,KineticEnergy,1,0);
431
432 G4double XtotKP=(XtotKpP+XtotKmP)/2.;
433 G4double XtotKN=XtotKP;
434 G4double XelKP =(XelKpP +XelKmP )/2.;
435 G4double XelKN =XelKP;
436
437 Xtotal = ( NumberOfTargetProtons * XtotKP +
438 NumberOfTargetNeutrons * XtotKN ) / NumberOfTargetNucleons;
439 Xelastic = ( NumberOfTargetProtons * XelKP +
440 NumberOfTargetNeutrons * XelKN ) / NumberOfTargetNucleons;
441 Xannihilation = 0.;
442
443 Xtotal/=millibarn;
444 Xelastic/=millibarn;
445 }
446 else //------Projectile is undefined, Nucleon assumed
447 {
449 G4double XtotPP = FTFxsManager->
450 GetTotalElementCrossSection( Proton,KineticEnergy,1,0);
451
453 G4double XtotPN = FTFxsManager->
454 GetTotalElementCrossSection( Neutron,KineticEnergy,1,0);
455
456 G4double XelPP = FTFxsManager->
457 GetElasticElementCrossSection(Proton,KineticEnergy,1,0);
458 G4double XelPN = FTFxsManager->
459 GetElasticElementCrossSection( Neutron,KineticEnergy,1,0);
460
461 Xtotal = ( NumberOfTargetProtons * XtotPP +
462 NumberOfTargetNeutrons * XtotPN ) / NumberOfTargetNucleons;
463 Xelastic = ( NumberOfTargetProtons * XelPP +
464 NumberOfTargetNeutrons * XelPN ) / NumberOfTargetNucleons;
465 Xannihilation = 0.;
466
467 Xtotal/=millibarn;
468 Xelastic/=millibarn;
469 };
470
471//----------- Geometrical parameters ------------------------------------------------
472 SetTotalCrossSection(Xtotal);
473 SetElastisCrossSection(Xelastic);
474 SetInelasticCrossSection(Xtotal-Xelastic);
475
476/*
477G4cout<<"Plab Xtotal, Xelastic Xinel Xftf "<<Plab<<" "<<Xtotal<<" "<<Xelastic<<" "<<Xtotal-Xelastic<<" "<<Xtotal-Xelastic-Xannihilation<<G4endl;
478if(Xtotal-Xelastic != 0.)
479{
480 G4cout<<"Plab Xelastic/Xtotal, Xann/Xin "<<Plab<<" "<<Xelastic/Xtotal<<" "<<Xannihilation/
481 (Xtotal-Xelastic)<<G4endl;
482} else
483{
484 G4cout<<"Plab Xelastic/Xtotal, Xann "<<Plab<<" "<<Xelastic/Xtotal<<" "<<
485 Xannihilation<<G4endl;
486}
487//G4int Uzhi; G4cin>>Uzhi;
488*/
489// // Interactions with elastic and inelastic collisions
490 SetProbabilityOfElasticScatt(Xtotal, Xelastic);
491 SetRadiusOfHNinteractions2(Xtotal/pi/10.);
492
493 if(Xtotal-Xelastic == 0.)
494 {
496 } else
497 {SetProbabilityOfAnnihilation(Xannihilation/(Xtotal-Xelastic));}
498//
499//SetProbabilityOfElasticScatt(Xtotal, 0.);
500// //==== No elastic scattering ============================
501// SetProbabilityOfElasticScatt(Xtotal, 0.);
502// SetRadiusOfHNinteractions2((Xtotal-Xelastic)/pi/10.);
503// SetProbabilityOfAnnihilation(1.);
504// SetProbabilityOfAnnihilation(0.);
505// //=======================================================
506
507//-----------------------------------------------------------------------------------
508
509 SetSlope( Xtotal*Xtotal/16./pi/Xelastic/0.3894 ); // Slope parameter of elastic scattering
510 // (GeV/c)^(-2))
511//G4cout<<"Slope "<<GetSlope()<<G4endl;
512//-----------------------------------------------------------------------------------
513 SetGamma0( GetSlope()*Xtotal/10./2./pi );
514
515//----------- Parameters of elastic scattering --------------------------------------
516 // Gaussian parametrization of
517 // elastic scattering amplitude assumed
518 SetAvaragePt2ofElasticScattering(1./(Xtotal*Xtotal/16./pi/Xelastic/0.3894)*GeV*GeV);
519//G4cout<<"AvaragePt2ofElasticScattering "<<GetAvaragePt2ofElasticScattering()<<G4endl;
520//----------- Parameters of excitations ---------------------------------------------
521
522 G4double Xinel=Xtotal-Xelastic; // Uzhi 25.04.2012
523//G4cout<<"Param ProjectilePDGcode "<<ProjectilePDGcode<<G4endl;
524 if( ProjectilePDGcode > 1000 ) //------Projectile is baryon --------
525 {
526 SetMagQuarkExchange(1.84);//(3.63);
527 SetSlopeQuarkExchange(0.7);//(1.2);
529 if(NumberOfTargetNucleons > 26) {SetProbOfSameQuarkExchange(1.);}
531
532 SetProjMinDiffMass(1.16); // GeV
533 SetProjMinNonDiffMass(1.16); // GeV
534// SetProbabilityOfProjDiff(0.805*std::exp(-0.35*Ylab)); // Uzhi 21.05.2012
535 SetProbabilityOfProjDiff(6./Xinel+1.5/ECMSsqr); // Uzhi 25.04.2012
536
537 SetTarMinDiffMass(1.16); // GeV
538 SetTarMinNonDiffMass(1.16); // GeV
539// SetProbabilityOfTarDiff(0.805*std::exp(-0.35*Ylab)); // Uzhi 21.05.2012
540 SetProbabilityOfTarDiff(6./Xinel+1.5/ECMSsqr); // Uzhi 25.04.2012
541// SetAveragePt2(0.15); // 0.15 GeV^2
542 SetAveragePt2(0.3); // 0.30 GeV^2 Uzhi 21.05.2012
543
544 SetProbLogDistr(0.5); // Uzhi 21.05.2012
545 }
546 else if( ProjectilePDGcode < -1000 ) //------Projectile is anti_baryon --------
547 {
552
553 SetProjMinDiffMass(ProjectileMass+0.22); // GeV
554 SetProjMinNonDiffMass(ProjectileMass+0.22); // GeV
555// SetProbabilityOfProjDiff(0.805*std::exp(-0.35*Ylab)); // Uzhi 21.05.2012
556 SetProbabilityOfProjDiff(6./Xinel+1.5/ECMSsqr); // Uzhi 25.04.2012
557
558 SetTarMinDiffMass(TargetMass+0.22); // GeV
559 SetTarMinNonDiffMass(TargetMass+0.22); // GeV
560// SetProbabilityOfTarDiff(0.805*std::exp(-0.35*Ylab)); // Uzhi 21.05.2012
561 SetProbabilityOfTarDiff(6./Xinel+1.5/ECMSsqr); // Uzhi 25.04.2012
562
563 SetAveragePt2(0.3); // 0.15 GeV^2 // Uzhi 21.05.2012
564
565 SetProbLogDistr(0.5); // Uzhi 21.05.2012
566 }
567 else if( ProjectileabsPDGcode == 211 ||
568 ProjectilePDGcode == 111) //------Projectile is Pion -----------
569 {
570 SetMagQuarkExchange(240.);
572 SetDeltaProbAtQuarkExchange(0.56); //(0.35);
573
574 SetProjMinDiffMass(0.5); // GeV
575 SetProjMinNonDiffMass(0.5); // GeV 0.3
576// SetProbabilityOfProjDiff(0.); // Uzhi 3.06.2012
577 SetProbabilityOfProjDiff((6.2-3.7*std::exp(-sqr(SqrtS-7.)/16.))/Xinel*0.);
578
579 SetTarMinDiffMass(1.16); // GeV
580 SetTarMinNonDiffMass(1.16); // GeV
581// SetProbabilityOfTarDiff(0.8*std::exp(-0.6*(Ylab-3.))); // Uzhi 3.06.2012
582 SetProbabilityOfTarDiff((2.+22./ECMSsqr)/Xinel);
583
584 SetAveragePt2(0.3); // GeV^2 7 June 2011
585 SetProbLogDistr(0.); // Uzhi 21.05.2012
586
587 SetProbLogDistr(1.);
588 }
589 else if( (ProjectileabsPDGcode == 321) ||
590 (ProjectileabsPDGcode == 311) ||
591 (ProjectilePDGcode == 130) ||
592 (ProjectilePDGcode == 310)) //Projectile is Kaon
593 {
597
598 SetProjMinDiffMass(0.6); // GeV 0.7 0.6
599 SetProjMinNonDiffMass(0.6); // GeV 0.7 0.6
600// SetProbabilityOfProjDiff(0.85*std::pow(s/GeV/GeV,-0.5)); // 40/32 X-dif/X-inel
601 SetProbabilityOfProjDiff(0.*4.7/Xinel); // Uzhi 5.06.2012
602
603 SetTarMinDiffMass(1.1); // GeV
604 SetTarMinNonDiffMass(1.1); // GeV
605// SetProbabilityOfTarDiff(0.45*std::pow(s/GeV/GeV,-0.5));// 40/32 X-dif/X-inel
606 SetProbabilityOfTarDiff(1.5/Xinel); // Uzhi 5.06.2012
607 SetAveragePt2(0.3); // GeV^2 7 June 2011
608 SetProbLogDistr(1.); // Uzhi 5.06.2012
609 }
610 else //------Projectile is undefined,
611 //------Nucleon assumed
612 {
613/* // Uzhi 6.06.2012
614 SetMagQuarkExchange(1.85); // 7 June 2011
615 SetSlopeQuarkExchange(0.7); // 7 June 2011
616 SetDeltaProbAtQuarkExchange(0.); // 7 June 2011
617
618 SetProjMinDiffMass((940.+160.*MeV)/GeV); // particle->GetPDGMass()
619 SetProjMinNonDiffMass((940.+160.*MeV)/GeV); // particle->GetPDGMass()
620 SetProbabilityOfProjDiff(0.805*std::pow(s/GeV/GeV,-0.35)); // 40/32 X-dif/X-inel
621
622 SetTarMinDiffMass(1.16); // GeV
623 SetTarMinNonDiffMass(1.16); // GeV
624 SetProbabilityOfTarDiff(0.805*std::pow(s/GeV/GeV,-0.35)); // 40/32 X-dif/X-inel
625*/
626
631
632 SetProjMinDiffMass(ProjectileMass+0.22); // GeV
633 SetProjMinNonDiffMass(ProjectileMass+0.22); // GeV
634 SetProbabilityOfProjDiff(6./Xinel+1.5/ECMSsqr); // Uzhi 25.04.2012
635
636 SetTarMinDiffMass(TargetMass+0.22); // GeV
637 SetTarMinNonDiffMass(TargetMass+0.22); // GeV
638 SetProbabilityOfTarDiff(6./Xinel+1.5/ECMSsqr); // Uzhi 25.04.2012
639
640 SetAveragePt2(0.3); // 0.15 GeV^2 Uzhi 21.05.2012
641 SetProbLogDistr(0.5); // Uzhi 21.05.2012
642 }
643
644// if(theA > 4) SetProbabilityOfProjDiff(0.); // Uzhi 6.07.2012 Closed
645
646//G4cout<<"Param Get Min Dif "<<GetProjMinNonDiffMass()<<G4endl;
647
648// ---------- Set parameters of a string kink -------------------------------
649 SetPt2Kink(6.*GeV*GeV);
650 G4double Puubar(1./3.), Pddbar(1./3.), Pssbar(1./3.); // SU(3) symmetry
651// G4double Puubar(0.41 ), Pddbar(0.41 ), Pssbar(0.18 ); // Broken SU(3) symmetry
652 SetQuarkProbabilitiesAtGluonSplitUp(Puubar, Pddbar, Pssbar);
653
654// --------- Set parameters of nuclear destruction--------------------
655
656 if( ProjectileabsPDGcode < 1000 ) // Meson projectile
657 {
658 SetMaxNumberOfCollisions(Plab,2.); //3.); ##############################
659 SetCofNuclearDestruction(1.*std::exp(4.*(Ylab-2.1))/
660 (1.+std::exp(4.*(Ylab-2.1)))); //0.62 1.0
661
662 SetR2ofNuclearDestruction(1.5*fermi*fermi);
663
665 SetPt2ofNuclearDestruction((0.035+0.04*std::exp(4.*(Ylab-2.5))/
666 (1.+std::exp(4.*(Ylab-2.5))))*GeV*GeV); //0.09
667//G4cout<<"Parm Pt2 Y "<<(0.035+0.04*std::exp(4.*(Ylab-2.5))/(1.+std::exp(4.*(Ylab-2.5))))<<" "<<Ylab<<G4endl;
669
671 } else if( ProjectilePDGcode < -1000 ) // for anti-baryon projectile
672 {
673//G4cout<<"Nucl destruct Anti Bar"<<G4endl;
674
675 SetMaxNumberOfCollisions(Plab,2.); //3.); ##############################
676 SetCofNuclearDestruction(1.*std::exp(4.*(Ylab-2.1))/
677 (1.+std::exp(4.*(Ylab-2.1)))); //0.62 1.0
678
679 SetR2ofNuclearDestruction(1.5*fermi*fermi);
680
682 SetPt2ofNuclearDestruction((0.035+0.04*std::exp(4.*(Ylab-2.5))/
683 (1.+std::exp(4.*(Ylab-2.5))))*GeV*GeV); //0.09
685
687
688 if(Plab < 2.) // 2 GeV/c
689 { // For slow anti-baryon we have to garanty putting on mass-shell
691 SetR2ofNuclearDestruction(1.5*fermi*fermi);
693 SetPt2ofNuclearDestruction(0.035*GeV*GeV);
694 SetMaxPt2ofNuclearDestruction(0.04*GeV*GeV);
695// SetExcitationEnergyPerWoundedNucleon(0.); // ?????
696 }
697 } else // Projectile baryon assumed
698 {
699 SetMaxNumberOfCollisions(Plab,2.); //3.); ##############################
700 SetCofNuclearDestruction(1.*std::exp(4.*(Ylab-2.1))/
701 (1.+std::exp(4.*(Ylab-2.1)))); //0.62 1.0
702
703 SetR2ofNuclearDestruction(1.5*fermi*fermi);
704
706 SetPt2ofNuclearDestruction((0.035+0.04*std::exp(4.*(Ylab-2.5))/
707 (1.+std::exp(4.*(Ylab-2.5))))*GeV*GeV); //0.09
709
711 }
712
713//SetCofNuclearDestruction(0.47*std::exp(2.*(Ylab-2.5))/(1.+std::exp(2.*(Ylab-2.5))));
714//SetPt2ofNuclearDestruction((0.035+0.1*std::exp(4.*(Ylab-3.))/(1.+std::exp(4.*(Ylab-3.))))*GeV*GeV);
715
716//SetMagQuarkExchange(120.); // 210. PipP
717//SetSlopeQuarkExchange(2.0);
718//SetDeltaProbAtQuarkExchange(0.6);
719//SetProjMinDiffMass(0.7); // GeV 1.1
720//SetProjMinNonDiffMass(0.7); // GeV
721//SetProbabilityOfProjDiff(0.85*std::pow(s/GeV/GeV,-0.5)); // 40/32 X-dif/X-inel
722//SetTarMinDiffMass(1.1); // GeV
723//SetTarMinNonDiffMass(1.1); // GeV
724//SetProbabilityOfTarDiff(0.85*std::pow(s/GeV/GeV,-0.5)); // 40/32 X-dif/X-inel
725//
726//SetAveragePt2(0.3); // GeV^2
727//------------------------------------
728//SetProbabilityOfElasticScatt(1.,1.); //(Xtotal, Xelastic);
729//SetProbabilityOfProjDiff(1.*0.62*std::pow(s/GeV/GeV,-0.51)); // 0->1
730//SetProbabilityOfTarDiff(4.*0.62*std::pow(s/GeV/GeV,-0.51)); // 2->4
731//SetAveragePt2(0.3); //(0.15);
732//SetAvaragePt2ofElasticScattering(0.);
733
734//SetMaxNumberOfCollisions(Plab,6.); //(4.*(Plab+0.01),Plab); //6.); // ##########
735//SetAveragePt2(0.15);
736//G4cout<<"Cnd "<<GetCofNuclearDestruction()<<G4endl;
737//SetCofNuclearDestruction(0.4);// (0.2); //(0.4);
738//SetExcitationEnergyPerWoundedNucleon(0.*MeV); //(75.*MeV);
739//SetDofNuclearDestruction(0.);
740//SetPt2ofNuclearDestruction(0.*GeV*GeV); //(0.168*GeV*GeV);
741//G4cout<<"Pt2 "<<GetPt2ofNuclearDestruction()/GeV/GeV<<G4endl;
742//G4int Uzhi; G4cin>>Uzhi;
743}
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout
void SetTarMinNonDiffMass(const G4double aValue)
void SetProjMinDiffMass(const G4double aValue)
void SetTotalCrossSection(const G4double Xtotal)
void SetExcitationEnergyPerWoundedNucleon(const G4double aValue)
G4ChipsComponentXS * FTFxsManager
void SetProbabilityOfElasticScatt(const G4double Xtotal, const G4double Xelastic)
void SetElastisCrossSection(const G4double Xelastic)
void SetQuarkProbabilitiesAtGluonSplitUp(const G4double Puubar, const G4double Pddbar, const G4double Pssbar)
void SetProbabilityOfTarDiff(const G4double aValue)
void SetMaxPt2ofNuclearDestruction(const G4double aValue)
G4double ProbOfSameQuarkExchange
void SetPt2Kink(const G4double aValue)
void SetSlope(const G4double Slope)
void SetDeltaProbAtQuarkExchange(const G4double aValue)
void SetMagQuarkExchange(const G4double aValue)
void SetAvaragePt2ofElasticScattering(const G4double aPt2)
void SetTarMinDiffMass(const G4double aValue)
void SetProjMinNonDiffMass(const G4double aValue)
void SetR2ofNuclearDestruction(const G4double aValue)
void SetGamma0(const G4double Gamma0)
void SetAveragePt2(const G4double aValue)
void SetProbabilityOfAnnihilation(const G4double aValue)
void SetDofNuclearDestruction(const G4double aValue)
void SetRadiusOfHNinteractions2(const G4double Radius2)
void SetPt2ofNuclearDestruction(const G4double aValue)
void SetProbLogDistr(const G4double aValue)
void SetCofNuclearDestruction(const G4double aValue)
void SetMaxNumberOfCollisions(const G4double aValue, const G4double bValue)
void SetSlopeQuarkExchange(const G4double aValue)
void SetProbOfSameQuarkExchange(const G4double aValue)
G4double FTFXannihilation
void SetProbabilityOfProjDiff(const G4double aValue)
void SetInelasticCrossSection(const G4double Xinelastic)
static G4KaonMinus * KaonMinus()
Definition: G4KaonMinus.cc:113
static G4KaonPlus * KaonPlus()
Definition: G4KaonPlus.cc:113
static G4Neutron * Neutron()
Definition: G4Neutron.cc:104
G4double GetPDGCharge() const
static G4PionMinus * PionMinus()
Definition: G4PionMinus.cc:98
static G4PionPlus * PionPlus()
Definition: G4PionPlus.cc:98
static G4Proton * Proton()
Definition: G4Proton.cc:93
T sqr(const T &x)
Definition: templates.hh:145

◆ ~G4FTFParameters()

G4FTFParameters::~G4FTFParameters ( )

Definition at line 68 of file G4FTFParameters.cc.

69{}

◆ G4FTFParameters() [2/2]

G4FTFParameters::G4FTFParameters ( )

Definition at line 49 of file G4FTFParameters.cc.

49 :
50 //A.R. 14-Aug-2012 : Coverity fix.
51 FTFhNcmsEnergy(0.0),
52 FTFxsManager(0),
61 Pt2kink(0.0),
65{}
G4double R2ofNuclearDestruction
G4double ExcitationEnergyPerWoundedNucleon
G4double ProbabilityOfTarDiff
G4double ProbabilityOfProjDiff
G4double TarMinNonDiffMass
G4double ProbOfInelInteraction
G4double RadiusOfHNinteractions2
G4double MaxPt2ofNuclearDestruction
G4double SlopeQuarkExchange
G4double DeltaProbAtQuarkExchange
G4double CofNuclearDestruction
G4double DofNuclearDestruction
G4double ProbabilityOfAnnihilation
G4double ProbabilityOfElasticScatt
G4double Pt2ofNuclearDestruction
G4double MagQuarkExchange
G4double ProjMinNonDiffMass
G4double ProjMinDiffMass
G4double AvaragePt2ofElasticScattering
G4double MaxNumberOfCollisions

Member Function Documentation

◆ GammaElastic()

G4double G4FTFParameters::GammaElastic ( const G4double  impactsquare)
inline

Definition at line 65 of file G4FTFParameters.hh.

66 {return (FTFGamma0 * std::exp(-FTFSlope * impactsquare));};

Referenced by GetInelasticProbability().

◆ GetAvaragePt2ofElasticScattering()

G4double G4FTFParameters::GetAvaragePt2ofElasticScattering ( )
inline

Definition at line 359 of file G4FTFParameters.hh.

Referenced by G4ElasticHNScattering::ElasticScattering().

◆ GetAveragePt2()

G4double G4FTFParameters::GetAveragePt2 ( )
inline

◆ GetCofNuclearDestruction()

G4double G4FTFParameters::GetCofNuclearDestruction ( )
inline

Definition at line 390 of file G4FTFParameters.hh.

390{return CofNuclearDestruction;}

◆ GetDeltaProbAtQuarkExchange()

G4double G4FTFParameters::GetDeltaProbAtQuarkExchange ( )
inline

Definition at line 365 of file G4FTFParameters.hh.

365 {return

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetDofNuclearDestruction()

G4double G4FTFParameters::GetDofNuclearDestruction ( )
inline

Definition at line 397 of file G4FTFParameters.hh.

398 {return DofNuclearDestruction;}

◆ GetElasticCrossSection()

G4double G4FTFParameters::GetElasticCrossSection ( )
inline

Definition at line 334 of file G4FTFParameters.hh.

334{return FTFXelastic;}

◆ GetExcitationEnergyPerWoundedNucleon()

G4double G4FTFParameters::GetExcitationEnergyPerWoundedNucleon ( )
inline

Definition at line 393 of file G4FTFParameters.hh.

◆ GetInelasticCrossSection()

G4double G4FTFParameters::GetInelasticCrossSection ( )
inline

Definition at line 335 of file G4FTFParameters.hh.

335{return FTFXinelastic;}

◆ GetInelasticProbability()

G4double G4FTFParameters::GetInelasticProbability ( const G4double  impactsquare)
inline

Definition at line 348 of file G4FTFParameters.hh.

349 {
350 G4double Gamma = GammaElastic(impactsquare);
351 return 2 * Gamma - Gamma *Gamma;
352 }
G4double GammaElastic(const G4double impactsquare)

◆ GetMagQuarkExchange()

G4double G4FTFParameters::GetMagQuarkExchange ( )
inline

Definition at line 363 of file G4FTFParameters.hh.

363{return MagQuarkExchange;}

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetMaxNumberOfCollisions()

G4double G4FTFParameters::GetMaxNumberOfCollisions ( )
inline

Definition at line 387 of file G4FTFParameters.hh.

387{return MaxNumberOfCollisions;}

◆ GetMaxPt2ofNuclearDestruction()

G4double G4FTFParameters::GetMaxPt2ofNuclearDestruction ( )
inline

Definition at line 400 of file G4FTFParameters.hh.

◆ GetProbabilityOfAnnihilation()

G4double G4FTFParameters::GetProbabilityOfAnnihilation ( )
inline

Definition at line 354 of file G4FTFParameters.hh.

◆ GetProbabilityOfElasticScatt()

G4double G4FTFParameters::GetProbabilityOfElasticScatt ( )
inline

Definition at line 345 of file G4FTFParameters.hh.

◆ GetProbabilityOfInteraction()

G4double G4FTFParameters::GetProbabilityOfInteraction ( const G4double  impactsquare)
inline

Definition at line 339 of file G4FTFParameters.hh.

340 {
341 if(RadiusOfHNinteractions2 > impactsquare) {return 1.;}
342 else {return 0.;}
343 }

Referenced by G4FTFParticipants::GetList().

◆ GetProbabilityOfProjDiff()

G4double G4FTFParameters::GetProbabilityOfProjDiff ( )
inline

Definition at line 371 of file G4FTFParameters.hh.

371{return ProbabilityOfProjDiff;}

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetProbabilityOfTarDiff()

G4double G4FTFParameters::GetProbabilityOfTarDiff ( )
inline

Definition at line 375 of file G4FTFParameters.hh.

375{return ProbabilityOfTarDiff;}

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetProbLogDistr()

G4double G4FTFParameters::GetProbLogDistr ( )
inline

Definition at line 378 of file G4FTFParameters.hh.

378{return ProbLogDistr;}

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetProbOfInteraction()

G4double G4FTFParameters::GetProbOfInteraction ( )
inline

Definition at line 388 of file G4FTFParameters.hh.

388{return ProbOfInelInteraction;}

◆ GetProbOfSameQuarkExchange()

G4double G4FTFParameters::GetProbOfSameQuarkExchange ( )
inline

Definition at line 367 of file G4FTFParameters.hh.

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetProjMinDiffMass()

G4double G4FTFParameters::GetProjMinDiffMass ( )
inline

◆ GetProjMinNonDiffMass()

G4double G4FTFParameters::GetProjMinNonDiffMass ( )
inline

Definition at line 370 of file G4FTFParameters.hh.

370{return ProjMinNonDiffMass;}

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetPt2Kink()

G4double G4FTFParameters::GetPt2Kink ( )
inline

Definition at line 381 of file G4FTFParameters.hh.

381{return Pt2kink;}

Referenced by G4DiffractiveExcitation::CreateStrings().

◆ GetPt2ofNuclearDestruction()

G4double G4FTFParameters::GetPt2ofNuclearDestruction ( )
inline

Definition at line 399 of file G4FTFParameters.hh.

◆ GetQuarkProbabilitiesAtGluonSplitUp()

std::vector< G4double > G4FTFParameters::GetQuarkProbabilitiesAtGluonSplitUp ( )
inline

Definition at line 383 of file G4FTFParameters.hh.

std::vector< G4double > QuarkProbabilitiesAtGluonSplitUp

Referenced by G4DiffractiveExcitation::CreateStrings().

◆ GetR2ofNuclearDestruction()

G4double G4FTFParameters::GetR2ofNuclearDestruction ( )
inline

Definition at line 391 of file G4FTFParameters.hh.

◆ GetSlope()

G4double G4FTFParameters::GetSlope ( )
inline

Definition at line 337 of file G4FTFParameters.hh.

337{return FTFSlope;}

Referenced by G4FTFParameters().

◆ GetSlopeQuarkExchange()

G4double G4FTFParameters::GetSlopeQuarkExchange ( )
inline

Definition at line 364 of file G4FTFParameters.hh.

364{return SlopeQuarkExchange;}

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetTarMinDiffMass()

G4double G4FTFParameters::GetTarMinDiffMass ( )
inline

◆ GetTarMinNonDiffMass()

G4double G4FTFParameters::GetTarMinNonDiffMass ( )
inline

Definition at line 374 of file G4FTFParameters.hh.

374{return TarMinNonDiffMass;}

Referenced by G4DiffractiveExcitation::ExciteParticipants().

◆ GetTotalCrossSection()

G4double G4FTFParameters::GetTotalCrossSection ( )
inline

Definition at line 333 of file G4FTFParameters.hh.

333{return FTFXtotal;}

◆ SetAvaragePt2ofElasticScattering()

void G4FTFParameters::SetAvaragePt2ofElasticScattering ( const G4double  aPt2)
inline

Definition at line 250 of file G4FTFParameters.hh.

251 {

Referenced by G4FTFParameters().

◆ SetAveragePt2()

void G4FTFParameters::SetAveragePt2 ( const G4double  aValue)
inline

Definition at line 278 of file G4FTFParameters.hh.

279 {AveragePt2 = aValue*CLHEP::GeV*CLHEP::GeV;}

Referenced by G4FTFParameters().

◆ SetCofNuclearDestruction()

void G4FTFParameters::SetCofNuclearDestruction ( const G4double  aValue)
inline

Definition at line 317 of file G4FTFParameters.hh.

318 {CofNuclearDestruction = aValue;}

Referenced by G4FTFParameters().

◆ SetDeltaProbAtQuarkExchange()

void G4FTFParameters::SetDeltaProbAtQuarkExchange ( const G4double  aValue)
inline

Definition at line 259 of file G4FTFParameters.hh.

260 {DeltaProbAtQuarkExchange = aValue;}

Referenced by G4FTFParameters().

◆ SetDofNuclearDestruction()

void G4FTFParameters::SetDofNuclearDestruction ( const G4double  aValue)
inline

Definition at line 325 of file G4FTFParameters.hh.

326 {DofNuclearDestruction = aValue;}

Referenced by G4FTFParameters().

◆ SetElastisCrossSection()

void G4FTFParameters::SetElastisCrossSection ( const G4double  Xelastic)
inline

Definition at line 221 of file G4FTFParameters.hh.

222 {FTFXelastic = Xelastic;}

Referenced by G4FTFParameters().

◆ SetExcitationEnergyPerWoundedNucleon()

void G4FTFParameters::SetExcitationEnergyPerWoundedNucleon ( const G4double  aValue)
inline

Definition at line 322 of file G4FTFParameters.hh.

Referenced by G4FTFParameters().

◆ SetGamma0()

void G4FTFParameters::SetGamma0 ( const G4double  Gamma0)
inline

Definition at line 246 of file G4FTFParameters.hh.

247 {FTFGamma0 = Gamma0;}

Referenced by G4FTFParameters().

◆ SethNcmsEnergy()

void G4FTFParameters::SethNcmsEnergy ( const G4double  s)
inline

Definition at line 214 of file G4FTFParameters.hh.

215 {FTFhNcmsEnergy = S;}

◆ SetInelasticCrossSection()

void G4FTFParameters::SetInelasticCrossSection ( const G4double  Xinelastic)
inline

Definition at line 224 of file G4FTFParameters.hh.

225 {FTFXinelastic = Xinelastic;}

Referenced by G4FTFParameters().

◆ SetMagQuarkExchange()

void G4FTFParameters::SetMagQuarkExchange ( const G4double  aValue)
inline

Definition at line 255 of file G4FTFParameters.hh.

256 {MagQuarkExchange = aValue;}

Referenced by G4FTFParameters().

◆ SetMaxNumberOfCollisions()

void G4FTFParameters::SetMaxNumberOfCollisions ( const G4double  aValue,
const G4double  bValue 
)
inline

Definition at line 299 of file G4FTFParameters.hh.

301 {
302 if(Plab > Pbound)
303 {
304 MaxNumberOfCollisions = Plab/Pbound;
306 } else
307 {
308// MaxNumberOfCollisions = -1.;
309// SetProbOfInteraction(std::exp(0.25*(Plab-Pbound)));
312 }
313 }
void SetProbOfInteraction(const G4double aValue)

Referenced by G4FTFParameters().

◆ SetMaxPt2ofNuclearDestruction()

void G4FTFParameters::SetMaxPt2ofNuclearDestruction ( const G4double  aValue)
inline

Definition at line 329 of file G4FTFParameters.hh.

Referenced by G4FTFParameters().

◆ SetProbabilityOfAnnihilation()

void G4FTFParameters::SetProbabilityOfAnnihilation ( const G4double  aValue)
inline

Definition at line 237 of file G4FTFParameters.hh.

238 {ProbabilityOfAnnihilation = aValue;} // Uzhi 18.11.10

Referenced by G4FTFParameters().

◆ SetProbabilityOfElasticScatt() [1/2]

void G4FTFParameters::SetProbabilityOfElasticScatt ( const G4double  aValue)
inline

Definition at line 234 of file G4FTFParameters.hh.

235 {ProbabilityOfElasticScatt = aValue;}

◆ SetProbabilityOfElasticScatt() [2/2]

void G4FTFParameters::SetProbabilityOfElasticScatt ( const G4double  Xtotal,
const G4double  Xelastic 
)
inline

Definition at line 227 of file G4FTFParameters.hh.

229 {
230 if(Xtotal==0.) {ProbabilityOfElasticScatt = 0.;}
231 else {ProbabilityOfElasticScatt = Xelastic/Xtotal;};
232 }

Referenced by G4FTFParameters().

◆ SetProbabilityOfProjDiff()

void G4FTFParameters::SetProbabilityOfProjDiff ( const G4double  aValue)
inline

Definition at line 268 of file G4FTFParameters.hh.

269 {ProbabilityOfProjDiff = aValue;}

Referenced by G4FTFParameters().

◆ SetProbabilityOfTarDiff()

void G4FTFParameters::SetProbabilityOfTarDiff ( const G4double  aValue)
inline

Definition at line 275 of file G4FTFParameters.hh.

276 {ProbabilityOfTarDiff = aValue;}

Referenced by G4FTFParameters().

◆ SetProbLogDistr()

void G4FTFParameters::SetProbLogDistr ( const G4double  aValue)
inline

Definition at line 281 of file G4FTFParameters.hh.

282 {ProbLogDistr = aValue;}

Referenced by G4FTFParameters().

◆ SetProbOfInteraction()

void G4FTFParameters::SetProbOfInteraction ( const G4double  aValue)
inline

Definition at line 314 of file G4FTFParameters.hh.

315 {ProbOfInelInteraction = aValue;}

Referenced by SetMaxNumberOfCollisions().

◆ SetProbOfSameQuarkExchange()

void G4FTFParameters::SetProbOfSameQuarkExchange ( const G4double  aValue)
inline

Definition at line 261 of file G4FTFParameters.hh.

262 {ProbOfSameQuarkExchange = aValue;}

Referenced by G4FTFParameters().

◆ SetProjMinDiffMass()

void G4FTFParameters::SetProjMinDiffMass ( const G4double  aValue)
inline

Definition at line 264 of file G4FTFParameters.hh.

265 {ProjMinDiffMass = aValue*CLHEP::GeV;}

Referenced by G4FTFParameters().

◆ SetProjMinNonDiffMass()

void G4FTFParameters::SetProjMinNonDiffMass ( const G4double  aValue)
inline

Definition at line 266 of file G4FTFParameters.hh.

267 {ProjMinNonDiffMass = aValue*CLHEP::GeV;}

Referenced by G4FTFParameters().

◆ SetPt2Kink()

void G4FTFParameters::SetPt2Kink ( const G4double  aValue)
inline

Definition at line 285 of file G4FTFParameters.hh.

286 {Pt2kink = aValue;}

Referenced by G4FTFParameters().

◆ SetPt2ofNuclearDestruction()

void G4FTFParameters::SetPt2ofNuclearDestruction ( const G4double  aValue)
inline

Definition at line 327 of file G4FTFParameters.hh.

328 {Pt2ofNuclearDestruction =aValue;}

Referenced by G4FTFParameters().

◆ SetQuarkProbabilitiesAtGluonSplitUp()

void G4FTFParameters::SetQuarkProbabilitiesAtGluonSplitUp ( const G4double  Puubar,
const G4double  Pddbar,
const G4double  Pssbar 
)
inline

Definition at line 288 of file G4FTFParameters.hh.

292 {
293 QuarkProbabilitiesAtGluonSplitUp.push_back(Puubar);
294 QuarkProbabilitiesAtGluonSplitUp.push_back(Puubar+Pddbar);
295 QuarkProbabilitiesAtGluonSplitUp.push_back(Puubar+Pddbar+Pssbar);
296 }

Referenced by G4FTFParameters().

◆ SetR2ofNuclearDestruction()

void G4FTFParameters::SetR2ofNuclearDestruction ( const G4double  aValue)
inline

Definition at line 319 of file G4FTFParameters.hh.

320 {R2ofNuclearDestruction = aValue;}

Referenced by G4FTFParameters().

◆ SetRadiusOfHNinteractions2()

void G4FTFParameters::SetRadiusOfHNinteractions2 ( const G4double  Radius2)
inline

Definition at line 240 of file G4FTFParameters.hh.

241 {RadiusOfHNinteractions2 = Radius2;}

Referenced by G4FTFParameters().

◆ SetSlope()

void G4FTFParameters::SetSlope ( const G4double  Slope)
inline

Definition at line 243 of file G4FTFParameters.hh.

244 {FTFSlope = 12.84/Slope;} // Slope is in GeV^-2, FTFSlope in fm^-2

Referenced by G4FTFParameters().

◆ SetSlopeQuarkExchange()

void G4FTFParameters::SetSlopeQuarkExchange ( const G4double  aValue)
inline

Definition at line 257 of file G4FTFParameters.hh.

258 {SlopeQuarkExchange = aValue;}

Referenced by G4FTFParameters().

◆ SetTarMinDiffMass()

void G4FTFParameters::SetTarMinDiffMass ( const G4double  aValue)
inline

Definition at line 271 of file G4FTFParameters.hh.

272 {TarMinDiffMass = aValue*CLHEP::GeV;}

Referenced by G4FTFParameters().

◆ SetTarMinNonDiffMass()

void G4FTFParameters::SetTarMinNonDiffMass ( const G4double  aValue)
inline

Definition at line 273 of file G4FTFParameters.hh.

274 {TarMinNonDiffMass = aValue*CLHEP::GeV;}

Referenced by G4FTFParameters().

◆ SetTotalCrossSection()

void G4FTFParameters::SetTotalCrossSection ( const G4double  Xtotal)
inline

Definition at line 218 of file G4FTFParameters.hh.

219 {FTFXtotal = Xtotal;}

Referenced by G4FTFParameters().

Member Data Documentation

◆ AvaragePt2ofElasticScattering

G4double G4FTFParameters::AvaragePt2ofElasticScattering

◆ AveragePt2

G4double G4FTFParameters::AveragePt2

Definition at line 191 of file G4FTFParameters.hh.

Referenced by GetAveragePt2(), and SetAveragePt2().

◆ CofNuclearDestruction

G4double G4FTFParameters::CofNuclearDestruction

Definition at line 202 of file G4FTFParameters.hh.

Referenced by GetCofNuclearDestruction(), and SetCofNuclearDestruction().

◆ DeltaProbAtQuarkExchange

G4double G4FTFParameters::DeltaProbAtQuarkExchange

Definition at line 180 of file G4FTFParameters.hh.

Referenced by GetDeltaProbAtQuarkExchange(), and SetDeltaProbAtQuarkExchange().

◆ DofNuclearDestruction

G4double G4FTFParameters::DofNuclearDestruction

Definition at line 207 of file G4FTFParameters.hh.

Referenced by GetDofNuclearDestruction(), and SetDofNuclearDestruction().

◆ ExcitationEnergyPerWoundedNucleon

G4double G4FTFParameters::ExcitationEnergyPerWoundedNucleon

◆ FTFGamma0

G4double G4FTFParameters::FTFGamma0

Definition at line 175 of file G4FTFParameters.hh.

Referenced by GammaElastic(), and SetGamma0().

◆ FTFhNcmsEnergy

G4double G4FTFParameters::FTFhNcmsEnergy

Definition at line 161 of file G4FTFParameters.hh.

Referenced by G4FTFParameters(), and SethNcmsEnergy().

◆ FTFSlope

G4double G4FTFParameters::FTFSlope

Definition at line 173 of file G4FTFParameters.hh.

Referenced by GammaElastic(), GetSlope(), and SetSlope().

◆ FTFXannihilation

G4double G4FTFParameters::FTFXannihilation

Definition at line 169 of file G4FTFParameters.hh.

Referenced by G4FTFParameters().

◆ FTFXelastic

G4double G4FTFParameters::FTFXelastic

Definition at line 167 of file G4FTFParameters.hh.

Referenced by GetElasticCrossSection(), and SetElastisCrossSection().

◆ FTFXinelastic

G4double G4FTFParameters::FTFXinelastic

Definition at line 168 of file G4FTFParameters.hh.

Referenced by GetInelasticCrossSection(), and SetInelasticCrossSection().

◆ FTFxsManager

G4ChipsComponentXS* G4FTFParameters::FTFxsManager

Definition at line 164 of file G4FTFParameters.hh.

Referenced by G4FTFParameters().

◆ FTFXtotal

G4double G4FTFParameters::FTFXtotal

Definition at line 166 of file G4FTFParameters.hh.

Referenced by GetTotalCrossSection(), and SetTotalCrossSection().

◆ MagQuarkExchange

G4double G4FTFParameters::MagQuarkExchange

Definition at line 178 of file G4FTFParameters.hh.

Referenced by GetMagQuarkExchange(), and SetMagQuarkExchange().

◆ MaxNumberOfCollisions

G4double G4FTFParameters::MaxNumberOfCollisions

Definition at line 199 of file G4FTFParameters.hh.

Referenced by GetMaxNumberOfCollisions(), and SetMaxNumberOfCollisions().

◆ MaxPt2ofNuclearDestruction

G4double G4FTFParameters::MaxPt2ofNuclearDestruction

◆ ProbabilityOfAnnihilation

G4double G4FTFParameters::ProbabilityOfAnnihilation

◆ ProbabilityOfElasticScatt

G4double G4FTFParameters::ProbabilityOfElasticScatt

◆ ProbabilityOfProjDiff

G4double G4FTFParameters::ProbabilityOfProjDiff

Definition at line 185 of file G4FTFParameters.hh.

Referenced by GetProbabilityOfProjDiff(), and SetProbabilityOfProjDiff().

◆ ProbabilityOfTarDiff

G4double G4FTFParameters::ProbabilityOfTarDiff

Definition at line 189 of file G4FTFParameters.hh.

Referenced by GetProbabilityOfTarDiff(), and SetProbabilityOfTarDiff().

◆ ProbLogDistr

G4double G4FTFParameters::ProbLogDistr

Definition at line 192 of file G4FTFParameters.hh.

Referenced by GetProbLogDistr(), and SetProbLogDistr().

◆ ProbOfInelInteraction

G4double G4FTFParameters::ProbOfInelInteraction

Definition at line 200 of file G4FTFParameters.hh.

Referenced by GetProbOfInteraction(), and SetProbOfInteraction().

◆ ProbOfSameQuarkExchange

G4double G4FTFParameters::ProbOfSameQuarkExchange

◆ ProjMinDiffMass

G4double G4FTFParameters::ProjMinDiffMass

Definition at line 183 of file G4FTFParameters.hh.

Referenced by GetProjMinDiffMass(), and SetProjMinDiffMass().

◆ ProjMinNonDiffMass

G4double G4FTFParameters::ProjMinNonDiffMass

Definition at line 184 of file G4FTFParameters.hh.

Referenced by GetProjMinNonDiffMass(), and SetProjMinNonDiffMass().

◆ Pt2kink

G4double G4FTFParameters::Pt2kink

Definition at line 195 of file G4FTFParameters.hh.

Referenced by GetPt2Kink(), and SetPt2Kink().

◆ Pt2ofNuclearDestruction

G4double G4FTFParameters::Pt2ofNuclearDestruction

Definition at line 208 of file G4FTFParameters.hh.

Referenced by GetPt2ofNuclearDestruction(), and SetPt2ofNuclearDestruction().

◆ QuarkProbabilitiesAtGluonSplitUp

std::vector<G4double> G4FTFParameters::QuarkProbabilitiesAtGluonSplitUp

◆ R2ofNuclearDestruction

G4double G4FTFParameters::R2ofNuclearDestruction

Definition at line 203 of file G4FTFParameters.hh.

Referenced by GetR2ofNuclearDestruction(), and SetR2ofNuclearDestruction().

◆ RadiusOfHNinteractions2

G4double G4FTFParameters::RadiusOfHNinteractions2

Definition at line 172 of file G4FTFParameters.hh.

Referenced by GetProbabilityOfInteraction(), and SetRadiusOfHNinteractions2().

◆ SlopeQuarkExchange

G4double G4FTFParameters::SlopeQuarkExchange

Definition at line 179 of file G4FTFParameters.hh.

Referenced by GetSlopeQuarkExchange(), and SetSlopeQuarkExchange().

◆ TarMinDiffMass

G4double G4FTFParameters::TarMinDiffMass

Definition at line 187 of file G4FTFParameters.hh.

Referenced by GetTarMinDiffMass(), and SetTarMinDiffMass().

◆ TarMinNonDiffMass

G4double G4FTFParameters::TarMinNonDiffMass

Definition at line 188 of file G4FTFParameters.hh.

Referenced by GetTarMinNonDiffMass(), and SetTarMinNonDiffMass().


The documentation for this class was generated from the following files: