74 G4double Puubar( 1.0/3.0 ), Pddbar( 1.0/3.0 ), Pssbar( 1.0/3.0 );
87 G4int ProjectileabsPDGcode = std::abs( ProjectilePDGcode );
89 G4double ProjectileMass2 = ProjectileMass * ProjectileMass;
91 G4int ProjectileBaryonNumber( 0 ), AbsProjectileBaryonNumber( 0 ), AbsProjectileCharge( 0 );
92 G4bool ProjectileIsNucleus =
false;
95 ProjectileIsNucleus =
true;
97 AbsProjectileBaryonNumber = std::abs( ProjectileBaryonNumber );
99 if ( ProjectileBaryonNumber > 1 ) {
100 ProjectilePDGcode = 2212; ProjectileabsPDGcode = 2212;
102 ProjectilePDGcode = -2212; ProjectileabsPDGcode = 2212;
105 ProjectileMass2 =
sqr( ProjectileMass );
109 G4double TargetMass2 = TargetMass * TargetMass;
112 G4double Elab = std::sqrt( Plab*Plab + ProjectileMass2 );
113 G4double KineticEnergy = Elab - ProjectileMass;
115 G4double S = ProjectileMass2 + TargetMass2 + 2.0*TargetMass*Elab;
117 #ifdef debugFTFparams
118 G4cout <<
"--------- FTF Parameters --------------" <<
G4endl <<
"Proj Plab "
119 << ProjectilePDGcode <<
" " << Plab <<
G4endl <<
"Mass KinE " << ProjectileMass
120 <<
" " << KineticEnergy <<
G4endl <<
" A Z " << theA <<
" " << theZ <<
G4endl;
123 G4double Ylab, Xtotal( 0.0 ), Xelastic( 0.0 ), Xannihilation( 0.0 );
124 G4int NumberOfTargetNucleons;
126 Ylab = 0.5 *
G4Log( (Elab + Plab)/(Elab - Plab) );
131 #ifdef debugFTFparams
135 TargetMass /= GeV; TargetMass2 /= (GeV*GeV);
136 ProjectileMass /= GeV; ProjectileMass2 /= (GeV*GeV);
141 G4int NumberOfTargetProtons = theZ;
142 G4int NumberOfTargetNeutrons = theA - theZ;
143 NumberOfTargetNucleons = NumberOfTargetProtons + NumberOfTargetNeutrons;
146 if ( AbsProjectileBaryonNumber <= 1 ) {
157 Xtotal = ( NumberOfTargetProtons * xTtP + NumberOfTargetNeutrons * xTtN ) / NumberOfTargetNucleons;
158 Xelastic = ( NumberOfTargetProtons * xElP + NumberOfTargetNeutrons * xElN ) / NumberOfTargetNucleons;
162 Xelastic /= millibarn;
164 #ifdef debugFTFparams
165 G4cout<<
"Estimated cross sections (total and elastic) of h+N interactions "<<Xtotal<<
" "<<Xelastic<<
" (mb)"<<
G4endl;
170 if ( ProjectileIsNucleus && ProjectileBaryonNumber > 1 ) {
172 #ifdef debugFTFparams
173 G4cout<<
"Projectile is a nucleus: A and Z - "<<ProjectileBaryonNumber<<
" "<<ProjectileCharge<<
G4endl;
186 #ifdef debugFTFparams
187 G4cout <<
"XsPP (total and elastic) " << XtotPP/millibarn <<
" " << XelPP/millibarn <<
" (mb)"<<
G4endl
188 <<
"XsPN (total and elastic) " << XtotPN/millibarn <<
" " << XelPN/millibarn <<
" (mb)"<<
G4endl;
192 AbsProjectileCharge * NumberOfTargetProtons * XtotPP +
193 ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
194 NumberOfTargetNeutrons * XtotPP
196 ( AbsProjectileCharge * NumberOfTargetNeutrons +
197 ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
198 NumberOfTargetProtons ) * XtotPN
199 ) / ( AbsProjectileBaryonNumber * NumberOfTargetNucleons );
201 AbsProjectileCharge * NumberOfTargetProtons * XelPP +
202 ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
203 NumberOfTargetNeutrons * XelPP
205 ( AbsProjectileCharge * NumberOfTargetNeutrons +
206 ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
207 NumberOfTargetProtons ) * XelPN
208 ) / ( AbsProjectileBaryonNumber * NumberOfTargetNucleons );
212 Xelastic /= millibarn;
217 if ( ProjectilePDGcode >= -4112 && ProjectilePDGcode <= -1114 ) {
220 #ifdef debugFTFparams
221 G4cout<<
"Projectile is a anti-baryon or anti-nucleus - "<<ProjectileBaryonNumber<<
" "<<ProjectileCharge<<
G4endl;
222 G4cout<<
"(Only non-strange and strange baryons are considered)"<<
G4endl;
225 G4double X_a( 0.0 ), X_b( 0.0 ), X_c( 0.0 ), X_d( 0.0 );
226 G4double MesonProdThreshold = ProjectileMass + TargetMass +
227 ( 2.0 * 0.14 + 0.016 );
229 if ( PlabPerParticle < 40.0*MeV ) {
238 G4double Xasmpt = 36.04 + 0.304*LogS*LogS;
239 LogS =
G4Log( SqrtS / 20.74 );
240 G4double Basmpt = 11.92 + 0.3036*LogS*LogS;
241 G4double R0 = std::sqrt( 0.40874044*Xasmpt - Basmpt );
243 G4double FlowF = SqrtS / std::sqrt( ECMSsqr*ECMSsqr + ProjectileMass2*ProjectileMass2 +
244 TargetMass2*TargetMass2 - 2.0*ECMSsqr*ProjectileMass2
245 - 2.0*ECMSsqr*TargetMass2
246 - 2.0*ProjectileMass2*TargetMass2 );
248 Xtotal = Xasmpt * ( 1.0 + 13.55*FlowF/R0/R0/R0*
249 (1.0 - 4.47/SqrtS + 12.38/ECMSsqr - 12.43/SqrtS/ECMSsqr) );
251 Xasmpt = 4.4 + 0.101*LogS*LogS;
252 Xelastic = Xasmpt * ( 1.0 + 59.27*FlowF/R0/R0/R0*
253 (1.0 - 6.95/SqrtS + 23.54/ECMSsqr - 25.34/SqrtS/ECMSsqr ) );
257 if ( SqrtS < MesonProdThreshold ) {
265 X_c = 2.0*FlowF*
sqr( ProjectileMass + TargetMass )/ECMSsqr;
270 G4double Xann_on_P( 0.0), Xann_on_N( 0.0 );
272 if ( ProjectilePDGcode == -2212 ) {
273 Xann_on_P = X_a + X_b*5.0 + X_c*5.0 + X_d*6.0;
274 Xann_on_N = X_a + X_b*4.0 + X_c*4.0 + X_d*4.0;
275 }
else if ( ProjectilePDGcode == -2112 ) {
276 Xann_on_P = X_a + X_b*4.0 + X_c*4.0 + X_d*4.0;
277 Xann_on_N = X_a + X_b*5.0 + X_c*5.0 + X_d*6.0;
278 }
else if ( ProjectilePDGcode == -3122 ) {
279 Xann_on_P = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
280 Xann_on_N = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
281 }
else if ( ProjectilePDGcode == -3112 ) {
282 Xann_on_P = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
283 Xann_on_N = X_a + X_b*4.0 + X_c*4.0 + X_d*2.0;
284 }
else if ( ProjectilePDGcode == -3212 ) {
285 Xann_on_P = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
286 Xann_on_N = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
287 }
else if ( ProjectilePDGcode == -3222 ) {
288 Xann_on_P = X_a + X_b*4.0 + X_c*4.0 + X_d*2.0;
289 Xann_on_N = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
290 }
else if ( ProjectilePDGcode == -3312 ) {
291 Xann_on_P = X_a + X_b*1.0 + X_c*1.0 + X_d*0.0;
292 Xann_on_N = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
293 }
else if ( ProjectilePDGcode == -3322 ) {
294 Xann_on_P = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
295 Xann_on_N = X_a + X_b*1.0 + X_c*1.0 + X_d*0.0;
296 }
else if ( ProjectilePDGcode == -3334 ) {
297 Xann_on_P = X_a + X_b*0.0 + X_c*0.0 + X_d*0.0;
298 Xann_on_N = X_a + X_b*0.0 + X_c*0.0 + X_d*0.0;
300 G4cout <<
"Unknown anti-baryon for FTF annihilation" <<
G4endl;
305 if ( ! ProjectileIsNucleus ) {
306 Xannihilation = ( NumberOfTargetProtons * Xann_on_P + NumberOfTargetNeutrons * Xann_on_N )
307 / NumberOfTargetNucleons;
310 ( AbsProjectileCharge * NumberOfTargetProtons +
311 ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
312 NumberOfTargetNeutrons ) * Xann_on_P
314 ( AbsProjectileCharge * NumberOfTargetNeutrons +
315 ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
316 NumberOfTargetProtons ) * Xann_on_N
317 ) / ( AbsProjectileBaryonNumber * NumberOfTargetNucleons );
321 MesonProdThreshold = ProjectileMass + TargetMass + (0.14 + 0.08);
322 if ( SqrtS > MesonProdThreshold ) {
323 Xftf = 36.0 * ( 1.0 - MesonProdThreshold/SqrtS );
326 Xtotal = Xelastic + Xannihilation + Xftf;
328 #ifdef debugFTFparams
329 G4cout <<
"Plab Xtotal, Xelastic Xinel Xftf " << Plab <<
" " << Xtotal <<
" " << Xelastic
330 <<
" " << Xtotal - Xelastic <<
" " << Xtotal - Xelastic - Xannihilation <<
" (mb)"<<
G4endl
331 <<
"Plab Xelastic/Xtotal, Xann/Xin " << Plab <<
" " << Xelastic/Xtotal <<
" "
332 << Xannihilation/(Xtotal - Xelastic) <<
G4endl;
337 if ( Xtotal == 0.0 ) {
348 Xtotal = ( NumberOfTargetProtons * XtotPP + NumberOfTargetNeutrons * XtotPN )
349 / NumberOfTargetNucleons;
350 Xelastic = ( NumberOfTargetProtons * XelPP + NumberOfTargetNeutrons * XelPN )
351 / NumberOfTargetNucleons;
354 Xelastic /= millibarn;
367 if ( ( Xtotal - Xelastic ) == 0.0 ) {
374 SetSlope( Xtotal*Xtotal/16.0/pi/Xelastic/0.3894 );
387 #ifdef debugFTFparams
390 G4cout<<
"Parameters of excitation for projectile "<<ProjectilePDGcode<<
G4endl;
393 if ( (ProjectilePDGcode == 2212) || (ProjectilePDGcode == 2112) ) {
417 SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93 );
418 SetParams( 3, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93 );
425 SetParams( 2, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0);
426 SetParams( 3, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0);
427 SetParams( 4, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0);
430 if ( AbsProjectileBaryonNumber > 10 || NumberOfTargetNucleons > 10 ) {
437 SetParams( 2, 0.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
439 SetParams( 3, 0.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
444 if ( NumberOfTargetNucleons > 26 ) {
460 }
else if ( ProjectilePDGcode == -2212 || ProjectilePDGcode == -2112 ) {
463 SetParams( 0, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , 1000.0 );
464 SetParams( 1, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , 1000.0 );
466 SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93 );
467 SetParams( 3, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93 );
468 SetParams( 4, 1.0, 0.0 , 0.0, 0.0 , 0.0, 0.0 , 0.93 );
470 SetParams( 2, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0 );
471 SetParams( 3, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0 );
472 SetParams( 4, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0 );
475 if ( AbsProjectileBaryonNumber > 10 || NumberOfTargetNucleons > 10 ) {
482 SetParams( 2, 0.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
484 SetParams( 3, 0.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
497 }
else if ( ProjectileabsPDGcode == 211 || ProjectilePDGcode == 111 ) {
531 if ( AbsProjectileBaryonNumber > 10 || NumberOfTargetNucleons > 10 ) {
533 SetParams( 2, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
535 SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
562 }
else if ( ProjectileabsPDGcode == 321 || ProjectileabsPDGcode == 311 ||
563 ProjectilePDGcode == 130 || ProjectilePDGcode == 310 ) {
566 SetParams( 0, 60.0 , 2.5 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
567 SetParams( 1, 6.0 , 1.0 , -24.33 , 2.0 , 0.0, 0.0 , 1.40 );
568 SetParams( 2, 2.76, 1.2 , -22.5 , 2.7 ,0.04, 0.0 , 1.40 );
569 SetParams( 3, 1.09, 0.5 , -8.88 , 2. ,0.05, 0.0 , 1.40 );
570 SetParams( 4, 1.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , 0.93 );
571 if ( AbsProjectileBaryonNumber > 10 || NumberOfTargetNucleons > 10 ) {
572 SetParams( 2, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
573 SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
587 if ( ProjectileabsPDGcode > 1000 ) {
589 SetParams( 0, 13.71, 1.75, -30.69, 3.0 , 0.0, 1.0 , 0.93 );
590 SetParams( 1, 25.0, 1.0, -50.34, 1.5 , 0.0, 0.0 , 1.4 );
592 SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93);
593 SetParams( 3, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93);
594 SetParams( 4, 1.0, 0.0 , -2.01 , 0.5 , 0.0, 0.0 , 1.4 );
596 SetParams( 2, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0);
597 SetParams( 3, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0);
598 SetParams( 4, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0);
603 SetParams( 0, 60.0 , 2.5 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
604 SetParams( 1, 6.0 , 1.0 , -24.33 , 2.0 , 0.0, 0.0 , 1.40 );
605 SetParams( 2, 2.76, 1.2 , -22.5 , 2.7 ,0.04, 0.0 , 1.40 );
606 SetParams( 3, 1.09, 0.5 , -8.88 , 2. ,0.05, 0.0 , 1.40 );
607 SetParams( 4, 1.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , 0.93 );
610 if ( AbsProjectileBaryonNumber > 10 || NumberOfTargetNucleons > 10 ) {
611 SetParams( 2, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
612 SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 );
631 #ifdef debugFTFparams
645 if ( ProjectileabsPDGcode < 1000 ) {
668 coeff *=
G4double(NumberOfTargetNucleons);
673 coeff /= ( 1.+ exfactor );
683 coeff /= ( 1. + exfactor );
689 }
else if ( ProjectilePDGcode == -2212 || ProjectilePDGcode == -2112 ) {
694 G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 +
G4Exp( 4.0*(Ylab - 2.1) ) ) );
698 ( 1.0 +
G4Exp( 4.0*(Ylab - 2.5) ) ) )*GeV*GeV );
726 coeff *=
G4double(AbsProjectileBaryonNumber);
730 coeff /= ( 1.+ exfactor );
741 coeff *=
G4double(NumberOfTargetNucleons);
745 coeff /= ( 1.+ exfactor );
754 coeff /= ( 1. + exfactor );
762 #ifdef debugFTFparams
830 G4int Qleft = std::max( partID/100, 1 );
831 G4int Qright = std::max( (partID/ 10)%10, 1 );
832 if ( Qleft < 6 && Qright < 6 ) {
834 }
else if ( Qleft < 6 && Qright > 6 ) {
835 G4int q1 = std::max( std::min( Qright/10, 5 ), 1 );
836 G4int q2 = std::max( std::min( Qright%10, 5 ), 1 );
838 }
else if ( Qleft > 6 && Qright < 6 ) {
839 G4int q1 = std::max( std::min( Qleft/10, 5 ), 1 );
840 G4int q2 = std::max( std::min( Qleft%10, 5 ), 1 );
843 return EstimatedMass;
852 if (Prob < 0.) Prob=0.;
858 if (Prob < 0.) Prob=0.;
941 HDP.
SetDefault(
"FTF_BARYON_NONDIFF_M_PROJ", 1.16, 1.16, 3. );
943 HDP.
SetDefault(
"FTF_BARYON_NONDIFF_M_TGT", 1.16, 1.16, 3. );
1057 HDP.
SetDefault(
"FTF_BARYON_NUCDESTR_P1_PROJ", 1., 0., 1. );
1058 HDP.
SetDefault(
"FTF_BARYON_NUCDESTR_P1_NBRN_PROJ",
false );
1067 HDP.
SetDefault(
"FTF_BARYON_NUCDESTR_P2_TGT", 4.0, 2., 16. );
1068 HDP.
SetDefault(
"FTF_BARYON_NUCDESTR_P3_TGT", 2.1, 0., 4. );
1070 HDP.
SetDefault(
"FTF_BARYON_PT2_NUCDESTR_P1", 0.035, 0., 0.25 );
1071 HDP.
SetDefault(
"FTF_BARYON_PT2_NUCDESTR_P2", 0.04, 0., 0.25 );
1072 HDP.
SetDefault(
"FTF_BARYON_PT2_NUCDESTR_P3", 4.0, 2., 16. );
1073 HDP.
SetDefault(
"FTF_BARYON_PT2_NUCDESTR_P4", 2.5, 0., 4. );
1075 HDP.
SetDefault(
"FTF_BARYON_NUCDESTR_R2", 1.5*CLHEP::fermi*CLHEP::fermi, 0.5*CLHEP::fermi*CLHEP::fermi, 2.*CLHEP::fermi*CLHEP::fermi );
1076 HDP.
SetDefault(
"FTF_BARYON_EXCI_E_PER_WNDNUCLN", 40.*CLHEP::MeV, 0., 100.*CLHEP::MeV );
1077 HDP.
SetDefault(
"FTF_BARYON_NUCDESTR_DISP", 0.3, 0.1, 0.4 );
1091 HDP.
SetDefault(
"FTF_MESON_NUCDESTR_P1_TGT", 0.00481, 0., 1. );
1093 HDP.
SetDefault(
"FTF_MESON_NUCDESTR_P2_TGT", 4.0, 2., 16. );
1096 HDP.
SetDefault(
"FTF_MESON_PT2_NUCDESTR_P1", 0.035, 0., 0.25 );
1097 HDP.
SetDefault(
"FTF_MESON_PT2_NUCDESTR_P2", 0.04, 0., 0.25 );
1098 HDP.
SetDefault(
"FTF_MESON_PT2_NUCDESTR_P3", 4.0, 2., 16. );
1101 HDP.
SetDefault(
"FTF_MESON_NUCDESTR_R2", 1.5*CLHEP::fermi*CLHEP::fermi,
1102 0.5*CLHEP::fermi*CLHEP::fermi,
1103 2.*CLHEP::fermi*CLHEP::fermi );
1104 HDP.
SetDefault(
"FTF_MESON_EXCI_E_PER_WNDNUCLN", 40.*CLHEP::MeV, 0., 100.*CLHEP::MeV );
1128void G4FTFParamCollection::Reset()
1516 if ( StringMass )
delete StringMass;
1521void G4FTFParameters::Reset()
1554 for (
G4int i = 0; i < 4; i++ ) {
1555 for (
G4int j = 0; j < 7; j++ ) {
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4HadronicDeveloperParameters & HDP
G4FTFSettingDefaultHDP FTFDefaultsHDP
G4double G4Log(G4double x)
G4GLOB_DLL std::ostream G4cout
G4VComponentCrossSection * GetComponentCrossSection(const G4String &name)
static G4CrossSectionDataSetRegistry * Instance()
G4FTFParamCollBaryonProj()
G4FTFParamCollMesonProj()
double GetProc3B2() const
double GetProc4A3() const
bool fProjDiffDissociation
double GetNuclearTgtDestructP3() const
double GetProc3B1() const
bool IsNuclearProjDestructP1_NBRNDEP() const
double GetProc0A2() const
double GetExciEnergyPerWoundedNucleon() const
double GetProc1Atop() const
double GetProc2A3() const
double GetNuclearProjDestructP2() const
double GetProbLogDistrPrD() const
double GetPt2NuclearDestructP4() const
double GetPt2NuclearDestructP3() const
double fPt2NuclearDestructP1
double fR2ofNuclearDestruct
double GetNuclearProjDestructP3() const
double fNuclearTgtDestructP2
double GetProc4A2() const
double GetPt2NuclearDestructP1() const
double GetProc2Ymin() const
double GetProjMinNonDiffMass() const
double fNuclearProjDestructP3
double fPt2NuclearDestructP4
double GetProc3Ymin() const
double GetProc2A2() const
double GetProc4B1() const
double GetProc1A1() const
bool fNuclearTgtDestructP1_ADEP
double GetProc0B2() const
double fNuclearProjDestructP2
double GetProbLogDistr() const
double fProbOfSameQuarkExchange
double fMaxPt2ofNuclearDestruct
double GetProc1B2() const
double fPt2NuclearDestructP2
double fDeltaProbAtQuarkExchange
double GetProc3Atop() const
double GetProc1A3() const
double GetProc1B1() const
bool fNuclearProjDestructP1_NBRNDEP
double GetProc1Ymin() const
double GetProc2B1() const
double GetNuclearTgtDestructP2() const
double GetPt2NuclearDestructP2() const
double GetR2ofNuclearDestruct() const
double GetDeltaProbAtQuarkExchange() const
double GetDofNuclearDestruct() const
double fExciEnergyPerWoundedNucleon
double GetProc0A3() const
bool IsProjDiffDissociation() const
double fDofNuclearDestruct
double GetProc0Atop() const
double GetProc2B2() const
bool fTgtDiffDissociation
double GetProc2A1() const
double GetProc2Atop() const
double GetProc1A2() const
double fPt2NuclearDestructP3
double fTgtMinNonDiffMass
double GetProc4Atop() const
double fNuclearTgtDestructP1
double GetProc3A1() const
double GetAveragePt2() const
double GetProc4Ymin() const
double fNuclearProjDestructP1
double GetProc0B1() const
double GetTgtMinNonDiffMass() const
bool IsTgtDiffDissociation() const
double GetProbOfSameQuarkExchange() const
double GetProc4B2() const
double GetProc0Ymin() const
double GetProc3A2() const
double GetProc3A3() const
bool IsNuclearTgtDestructP1_ADEP() const
double fNuclearTgtDestructP3
double GetMaxPt2ofNuclearDestruct() const
double GetProc4A1() const
double GetTgtMinDiffMass() const
double GetNuclearTgtDestructP1() const
double GetProjMinDiffMass() const
double fProjMinNonDiffMass
double GetProc0A1() const
double GetNuclearProjDestructP1() const
void SetTarMinNonDiffMass(const G4double aValue)
G4double R2ofNuclearDestruction
void SetProjMinDiffMass(const G4double aValue)
G4double GetProbLogDistrPrD()
G4double GetCofNuclearDestructionPr()
void SetTotalCrossSection(const G4double Xtotal)
void SetExcitationEnergyPerWoundedNucleon(const G4double aValue)
G4double ExcitationEnergyPerWoundedNucleon
void SetProbabilityOfElasticScatt(const G4double Xtotal, const G4double Xelastic)
void SetElastisCrossSection(const G4double Xelastic)
void SetQuarkProbabilitiesAtGluonSplitUp(const G4double Puubar, const G4double Pddbar, const G4double Pssbar)
G4double GetPt2ofNuclearDestruction()
G4double GetProbLogDistr()
void SetMaxPt2ofNuclearDestruction(const G4double aValue)
G4double GetProjMinNonDiffMass()
G4double ProcParams[5][7]
G4double ProbOfSameQuarkExchange
G4double GetAvaragePt2ofElasticScattering()
G4double TarMinNonDiffMass
G4double ProbOfInelInteraction
void SetPt2Kink(const G4double aValue)
void SetSlope(const G4double Slope)
G4double GetTarMinDiffMass()
G4double RadiusOfHNinteractions2
void SetDeltaProbAtQuarkExchange(const G4double aValue)
G4double MaxPt2ofNuclearDestruction
G4double GetTarMinNonDiffMass()
void SetAvaragePt2ofElasticScattering(const G4double aPt2)
G4double DeltaProbAtQuarkExchange
G4double GetProcProb(const G4int ProcN, const G4double y)
G4double CofNuclearDestruction
void SetTarMinDiffMass(const G4double aValue)
void SetProjMinNonDiffMass(const G4double aValue)
void SetCofNuclearDestructionPr(const G4double aValue)
void SetR2ofNuclearDestruction(const G4double aValue)
void SetProbLogDistrPrD(const G4double aValue)
G4double CofNuclearDestructionPr
void SetGamma0(const G4double Gamma0)
void SetAveragePt2(const G4double aValue)
G4double GetDeltaProbAtQuarkExchange()
G4double DofNuclearDestruction
G4double GetExcitationEnergyPerWoundedNucleon()
void SetProbabilityOfAnnihilation(const G4double aValue)
void InitForInteraction(const G4ParticleDefinition *, G4int theA, G4int theZ, G4double s)
void SetDofNuclearDestruction(const G4double aValue)
G4double ProbabilityOfAnnihilation
G4double GetProjMinDiffMass()
G4double GetProbOfSameQuarkExchange()
G4double ProbabilityOfElasticScatt
G4double GetDofNuclearDestruction()
void SetRadiusOfHNinteractions2(const G4double Radius2)
void SetParams(const G4int ProcN, const G4double A1, const G4double B1, const G4double A2, const G4double B2, const G4double A3, const G4double Atop, const G4double Ymin)
G4double Pt2ofNuclearDestruction
void SetPt2ofNuclearDestruction(const G4double aValue)
G4double GetR2ofNuclearDestruction()
G4double GetCofNuclearDestruction()
void SetProbLogDistr(const G4double aValue)
void SetCofNuclearDestruction(const G4double aValue)
G4double ProjMinNonDiffMass
void SetMaxNumberOfCollisions(const G4double aValue, const G4double bValue)
G4double AvaragePt2ofElasticScattering
void SetProbOfSameQuarkExchange(const G4double aValue)
G4double MaxNumberOfCollisions
G4double FTFXannihilation
void SetInelasticCrossSection(const G4double Xinelastic)
G4bool DeveloperGet(const std::string name, G4bool &value)
static G4HadronicDeveloperParameters & GetInstance()
G4bool SetDefault(const std::string name, const G4bool value)
static G4Neutron * Neutron()
G4double GetPDGMass() const
G4int GetPDGEncoding() const
G4double GetPDGCharge() const
G4int GetBaryonNumber() const
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
static G4Proton * Proton()
virtual G4double GetTotalIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)=0
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)=0
G4double minMassQQbarStr[5][5]
G4double minMassQDiQStr[5][5][5]