61   FTFhNcmsEnergy( 0.0 ), 
    63   FTFXtotal( 0.0 ), FTFXelastic( 0.0 ), FTFXinelastic( 0.0 ), FTFXannihilation( 0.0 ),
    64   ProbabilityOfAnnihilation( 0.0 ), ProbabilityOfElasticScatt( 0.0 ),
    65   RadiusOfHNinteractions2( 0.0 ), FTFSlope( 0.0 ), 
    66   AvaragePt2ofElasticScattering( 0.0 ), FTFGamma0( 0.0 ),
    67   DeltaProbAtQuarkExchange( 0.0 ), ProbOfSameQuarkExchange( 0.0 ), 
    68   ProjMinDiffMass( 0.0 ), ProjMinNonDiffMass( 0.0 ), ProbLogDistrPrD(0.0),
    69   TarMinDiffMass( 0.0 ), TarMinNonDiffMass( 0.0 ),
    70   AveragePt2( 0.0 ), ProbLogDistr( 0.0 ),
    72   MaxNumberOfCollisions( 0.0 ), ProbOfInelInteraction( 0.0 ), 
    73   CofNuclearDestructionPr( 0.0 ), CofNuclearDestruction( 0.0 ),
    74   R2ofNuclearDestruction( 0.0 ), ExcitationEnergyPerWoundedNucleon( 0.0 ),
    75   DofNuclearDestruction( 0.0 ), Pt2ofNuclearDestruction( 0.0 ), MaxPt2ofNuclearDestruction( 0.0 ) 
    77   for ( 
G4int i = 0; i < 4; i++ ) {
    78     for ( 
G4int j = 0; j < 7; j++ ) {
   116   for ( 
G4int i = 0; i < 4; i++ ) {
   117     for ( 
G4int j = 0; j < 7; j++ ) {
   123   G4int    ProjectileabsPDGcode = std::abs( ProjectilePDGcode );
   125   G4double ProjectileMass2      = ProjectileMass * ProjectileMass;
   127   G4int ProjectileBaryonNumber( 0 ), AbsProjectileBaryonNumber( 0 ), AbsProjectileCharge( 0 );
   128   G4bool ProjectileIsNucleus = 
false;
   131     ProjectileIsNucleus       = 
true;
   133     AbsProjectileBaryonNumber = std::abs( ProjectileBaryonNumber );
   135     if ( ProjectileBaryonNumber > 1 ) {
   136       ProjectilePDGcode = 2212; ProjectileabsPDGcode = 2212;  
   138       ProjectilePDGcode = -2212; ProjectileabsPDGcode = 2212;  
   141     ProjectileMass2 = 
sqr( ProjectileMass );
   145   G4double TargetMass2 = TargetMass * TargetMass;
   148   G4double Elab = std::sqrt( Plab*Plab + ProjectileMass2 );
   149   G4double KineticEnergy = Elab - ProjectileMass;
   151   G4double S = ProjectileMass2 + TargetMass2 + 2.0*TargetMass*Elab;
   153   #ifdef debugFTFparams   154   G4cout << 
"--------- FTF Parameters --------------" << 
G4endl << 
"Proj Plab "    155          << ProjectilePDGcode << 
" " << Plab << 
G4endl << 
"Mass KinE " << ProjectileMass
   156          << 
" " << KineticEnergy << 
G4endl << 
" A Z " << theA << 
" " << theZ << 
G4endl;
   159   G4double Ylab, Xtotal, Xelastic, Xannihilation;
   160   G4int NumberOfTargetNucleons;
   162   Ylab = 0.5 * 
G4Log( (Elab + Plab)/(Elab - Plab) );
   167   #ifdef debugFTFparams   171   TargetMass     /= 
GeV; TargetMass2     /= (
GeV*
GeV);
   172   ProjectileMass /= 
GeV; ProjectileMass2 /= (
GeV*
GeV);
   188   G4int NumberOfTargetProtons  = theZ; 
   189   G4int NumberOfTargetNeutrons = theA - theZ;
   190   NumberOfTargetNucleons = NumberOfTargetProtons + NumberOfTargetNeutrons;
   192   if ( ProjectilePDGcode == 2212  ||  ProjectilePDGcode == 2112 ) {  
   201     #ifdef debugFTFparams   206     if ( ! ProjectileIsNucleus ) {  
   207       Xtotal   = ( NumberOfTargetProtons * XtotPP + NumberOfTargetNeutrons * XtotPN ) /
   208                  NumberOfTargetNucleons;
   209       Xelastic = ( NumberOfTargetProtons * XelPP  + NumberOfTargetNeutrons * XelPN  ) / 
   210                  NumberOfTargetNucleons;
   213                   AbsProjectileCharge * NumberOfTargetProtons * XtotPP + 
   214                   ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
   215                       NumberOfTargetNeutrons * XtotPP 
   217                   ( AbsProjectileCharge * NumberOfTargetNeutrons +
   218                     ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
   219                         NumberOfTargetProtons ) * XtotPN
   220                 ) / ( AbsProjectileBaryonNumber * NumberOfTargetNucleons );
   222                   AbsProjectileCharge * NumberOfTargetProtons * XelPP + 
   223                   ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
   224                       NumberOfTargetNeutrons * XelPP 
   226                   ( AbsProjectileCharge * NumberOfTargetNeutrons +
   227                     ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
   228                         NumberOfTargetProtons ) * XelPN
   229                 ) / ( AbsProjectileBaryonNumber * NumberOfTargetNucleons );
   236   } 
else if ( ProjectilePDGcode < -1000 ) { 
   238     G4double X_a( 0.0 ), X_b( 0.0 ), X_c( 0.0 ), X_d( 0.0 );
   239     G4double MesonProdThreshold = ProjectileMass + TargetMass + 
   240                                   ( 2.0 * 0.14 + 0.016 ); 
   242     if ( PlabPerParticle < 40.0*
MeV ) { 
   251       G4double Xasmpt = 36.04 + 0.304*LogS*LogS;  
   252       LogS = 
G4Log( SqrtS / 20.74 );
   253       G4double Basmpt = 11.92 + 0.3036*LogS*LogS;  
   254       G4double R0 = std::sqrt( 0.40874044*Xasmpt - Basmpt );  
   256       G4double FlowF = SqrtS / std::sqrt( ECMSsqr*ECMSsqr + ProjectileMass2*ProjectileMass2 +
   257                                           TargetMass2*TargetMass2 - 2.0*ECMSsqr*ProjectileMass2
   258                                           - 2.0*ECMSsqr*TargetMass2 
   259                                           - 2.0*ProjectileMass2*TargetMass2 );
   261       Xtotal = Xasmpt * ( 1.0 + 13.55*FlowF/R0/R0/R0*
   262                                 (1.0 - 4.47/SqrtS + 12.38/ECMSsqr - 12.43/SqrtS/ECMSsqr) );  
   264       Xasmpt = 4.4 + 0.101*LogS*LogS;  
   265       Xelastic = Xasmpt * ( 1.0 + 59.27*FlowF/R0/R0/R0*
   266                                   (1.0 - 6.95/SqrtS + 23.54/ECMSsqr - 25.34/SqrtS/ECMSsqr ) ); 
   275       if ( SqrtS < MesonProdThreshold ) {
   283       X_c = 2.0*FlowF*
sqr( ProjectileMass + TargetMass )/ECMSsqr;  
   293     G4double Xann_on_P( 0.0), Xann_on_N( 0.0 );
   295     if ( ProjectilePDGcode == -2212 ) {  
   296       Xann_on_P = X_a + X_b*5.0 + X_c*5.0 + X_d*6.0; 
   297       Xann_on_N = X_a + X_b*4.0 + X_c*4.0 + X_d*4.0;
   298     } 
else if ( ProjectilePDGcode == -2112 ) {  
   299       Xann_on_P = X_a + X_b*4.0 + X_c*4.0 + X_d*4.0;
   300       Xann_on_N = X_a + X_b*5.0 + X_c*5.0 + X_d*6.0;
   301     } 
else if ( ProjectilePDGcode == -3122 ) {  
   302       Xann_on_P = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
   303       Xann_on_N = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
   304     } 
else if ( ProjectilePDGcode == -3112 ) {  
   305       Xann_on_P = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
   306       Xann_on_N = X_a + X_b*4.0 + X_c*4.0 + X_d*2.0;
   307     } 
else if ( ProjectilePDGcode == -3212 ) {  
   308       Xann_on_P = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
   309       Xann_on_N = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
   310     } 
else if ( ProjectilePDGcode == -3222 ) {  
   311       Xann_on_P = X_a + X_b*4.0 + X_c*4.0 + X_d*2.0;
   312       Xann_on_N = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
   313     } 
else if ( ProjectilePDGcode == -3312 ) {  
   314       Xann_on_P = X_a + X_b*1.0 + X_c*1.0 + X_d*0.0;
   315       Xann_on_N = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
   316     } 
else if ( ProjectilePDGcode == -3322 ) {  
   317       Xann_on_P = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
   318       Xann_on_N = X_a + X_b*1.0 + X_c*1.0 + X_d*0.0;
   319     } 
else if ( ProjectilePDGcode == -3334 ) {  
   320       Xann_on_P = X_a + X_b*0.0 + X_c*0.0 + X_d*0.0;
   321       Xann_on_N = X_a + X_b*0.0 + X_c*0.0 + X_d*0.0;
   323       G4cout << 
"Unknown anti-baryon for FTF annihilation" << 
G4endl;
   328     if ( ! ProjectileIsNucleus ) {  
   329       Xannihilation = ( NumberOfTargetProtons * Xann_on_P  + NumberOfTargetNeutrons * Xann_on_N  )
   330                       / NumberOfTargetNucleons;
   333                         ( AbsProjectileCharge * NumberOfTargetProtons + 
   334                           ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
   335                           NumberOfTargetNeutrons ) * Xann_on_P 
   337                         ( AbsProjectileCharge * NumberOfTargetNeutrons +
   338                           ( AbsProjectileBaryonNumber - AbsProjectileCharge ) *
   339                           NumberOfTargetProtons ) * Xann_on_N
   340                       ) / ( AbsProjectileBaryonNumber * NumberOfTargetNucleons );
   344     MesonProdThreshold = ProjectileMass + TargetMass + (0.14 + 0.08); 
   345     if ( SqrtS > MesonProdThreshold ) {
   346       Xftf = 36.0 * ( 1.0 - MesonProdThreshold/SqrtS );
   349     Xtotal = Xelastic + Xannihilation + Xftf;
   351     #ifdef debugFTFparams   352     G4cout << 
"Plab Xtotal, Xelastic  Xinel Xftf " << Plab << 
" " << Xtotal << 
" " << Xelastic
   353            << 
" " << Xtotal - Xelastic << 
" " << Xtotal - Xelastic - Xannihilation << G4endl
   354            << 
"Plab Xelastic/Xtotal,  Xann/Xin " << Plab << 
" " << Xelastic/Xtotal << 
" "    355            << Xannihilation/(Xtotal - Xelastic) << G4endl;
   358   } 
else if ( ProjectilePDGcode == 211 ) {  
   365     Xtotal   = ( NumberOfTargetProtons * XtotPiP + NumberOfTargetNeutrons * XtotPiN ) 
   366                / NumberOfTargetNucleons;
   367     Xelastic = ( NumberOfTargetProtons * XelPiP  + NumberOfTargetNeutrons * XelPiN ) 
   368                / NumberOfTargetNucleons; 
   373   } 
else if ( ProjectilePDGcode == -211 ) {  
   380     Xtotal   = ( NumberOfTargetProtons * XtotPiP + NumberOfTargetNeutrons * XtotPiN )
   381                / NumberOfTargetNucleons;
   382     Xelastic = ( NumberOfTargetProtons * XelPiP  + NumberOfTargetNeutrons * XelPiN )
   383                / NumberOfTargetNucleons;
   388   } 
else if ( ProjectilePDGcode == 111 ) {  
   396     G4double XtotPiP = ( XtotPipP + XtotPimP ) / 2.0;
   398     G4double XelPiP = ( XelPipP  + XelPimP ) / 2.0;
   400     Xtotal   = ( NumberOfTargetProtons * XtotPiP + NumberOfTargetNeutrons * XtotPiN )
   401                / NumberOfTargetNucleons;
   402     Xelastic = ( NumberOfTargetProtons * XelPiP  + NumberOfTargetNeutrons * XelPiN )
   403                / NumberOfTargetNucleons; 
   408   } 
else if ( ProjectilePDGcode == 321 ) {  
   415     Xtotal   = ( NumberOfTargetProtons * XtotKP + NumberOfTargetNeutrons * XtotKN )
   416                / NumberOfTargetNucleons;
   417     Xelastic = ( NumberOfTargetProtons * XelKP  + NumberOfTargetNeutrons * XelKN )
   418                / NumberOfTargetNucleons;
   423   } 
else if ( ProjectilePDGcode == -321 ) {  
   430     Xtotal   = ( NumberOfTargetProtons * XtotKP + NumberOfTargetNeutrons * XtotKN )
   431                / NumberOfTargetNucleons;
   432     Xelastic = ( NumberOfTargetProtons * XelKP  + NumberOfTargetNeutrons * XelKN )
   433                / NumberOfTargetNucleons;
   438   } 
else if ( ProjectilePDGcode == 311  ||  ProjectilePDGcode == 130  ||  
   439               ProjectilePDGcode == 310 ) {  
   447     G4double XtotKP = ( XtotKpP + XtotKmP ) / 2.0;
   449     G4double XelKP = ( XelKpP + XelKmP ) / 2.0; 
   451     Xtotal   = ( NumberOfTargetProtons * XtotKP + NumberOfTargetNeutrons * XtotKN )
   452                / NumberOfTargetNucleons;
   453     Xelastic = ( NumberOfTargetProtons * XelKP  + NumberOfTargetNeutrons * XelKN )
   454                / NumberOfTargetNucleons;
   467     Xtotal   = ( NumberOfTargetProtons  * XtotPP + NumberOfTargetNeutrons * XtotPN )
   468                / NumberOfTargetNucleons;
   469     Xelastic = ( NumberOfTargetProtons  * XelPP  + NumberOfTargetNeutrons * XelPN )
   470                / NumberOfTargetNucleons;
   496   if ( Xtotal - Xelastic == 0.0 ) {
   508   SetSlope( Xtotal*Xtotal/16.0/
pi/Xelastic/0.3894 ); 
   523   if ( ProjectilePDGcode > 1000 ) {  
   525     SetParams( 0,     13.71, 1.75,          -214.5, 4.25, 0.0, 0.5  ,     1.1 );  
   526     SetParams( 1,      25.0, 1.0,           -50.34, 1.5 , 0.0, 0.0  ,     1.4 );  
   528       SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0  ,     0.93);
   529       SetParams( 3, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0  ,     0.93);
   530       SetParams( 4,       1.0, 0.0 ,          -2.01 , 0.5 , 0.0, 0.0  ,     1.4 );
   532       SetParams( 2, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   533       SetParams( 3, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   534       SetParams( 4, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   537     if ( AbsProjectileBaryonNumber > 1  ||  NumberOfTargetNucleons > 1 ) {
   539       SetParams( 2,       0.0, 0.0 ,           0.0  , 0.0 , 0.0, 0.0   , -100.0  );  
   544     if ( NumberOfTargetNucleons > 26 ) {
   557   } 
else if( ProjectilePDGcode < -1000 ) {  
   560     SetParams( 0,      0.0 , 0.0 ,           0.0  , 0.0 , 0.0, 0.0  ,  1000.0  );  
   561     SetParams( 1,      0.0 , 0.0 ,           0.0  , 0.0 , 0.0, 0.0  ,  1000.0  );  
   563       SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0  ,     0.93);  
   564       SetParams( 3, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0  ,     0.93);  
   565       SetParams( 4,       1.0, 0.0 ,             0.0, 0.0 , 0.0, 0.0  ,    0.93 );  
   567       SetParams( 2, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   568       SetParams( 3, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   569       SetParams( 4, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   572     if ( AbsProjectileBaryonNumber > 1  ||  NumberOfTargetNucleons > 1 ) {
   573       SetParams( 2,      0.0 , 0.0 ,           0.0  , 0.0 , 0.0, 0.0  ,  -100.0  );  
   587   } 
else if ( ProjectileabsPDGcode == 211  ||  ProjectilePDGcode ==  111 ) {  
   590     SetParams( 0,  720.0,    2.5 ,         2.3 ,     1.0,    0.,   1. ,       2.7 ); 
   591     SetParams( 1,  12.87,    0.5 ,       -44.91,     1.0,    0.,   0. ,       2.5 );
   592     SetParams( 2,  0.086,    0.  ,        -0.3 ,     0.5,    0.,   0. ,       2.5 ); 
   593     SetParams( 3,   32.8,    1.0 ,      -114.5 ,     1.5, 0.084,   0. ,       2.5 );
   594     SetParams( 4,    1.0,    0.0 ,        -3.49,     0.5,   0.0,   0. ,       2.5 );  
   596     if ( AbsProjectileBaryonNumber > 1  ||  NumberOfTargetNucleons > 1 ) {
   597       SetParams( 2,      0.0 , 0.0 ,           0.0  , 0.0 , 0.0, 0.0  ,  -100.0  );  
   610   } 
else if ( ProjectileabsPDGcode == 321  ||  ProjectileabsPDGcode == 311  || 
   611               ProjectilePDGcode == 130     ||  ProjectilePDGcode == 310 ) {  
   614     SetParams( 0,     60.0 , 2.5 ,           0.0  , 0.0 , 0.0, 0.0  ,  -100.0  );  
   615     SetParams( 1,      6.0 , 1.0 ,         -24.33 , 2.0 , 0.0, 0.0  ,     1.40 );  
   616     SetParams( 2,      2.76, 1.2 ,         -22.5  , 2.7 ,0.04, 0.0  ,     1.40 );  
   617     SetParams( 3,      1.09, 0.5 ,          -8.88 , 2.  ,0.05, 0.0  ,     1.40 );  
   618     SetParams( 4,       1.0, 0.0 ,           0.0  , 0.0 , 0.0, 0.0  ,     0.93 );  
   620     if ( AbsProjectileBaryonNumber > 1  ||  NumberOfTargetNucleons > 1 ) {
   621       SetParams( 2,      0.0 , 0.0 ,           0.0  , 0.0 , 0.0, 0.0  ,  -100.0  );  
   636     SetParams( 0,     13.71, 1.75,          -214.5, 4.25, 0.0, 0.5  ,     1.1 );  
   637     SetParams( 1,      25.0, 1.0,          -50.34,  1.5 , 0.0, 0.0  ,     1.4 );  
   639       SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0  ,   0.93);  
   640       SetParams( 3, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0  ,   0.93);  
   641       SetParams( 4,       1.0, 0.0 ,          -2.01 , 0.5 , 0.0, 0.0  ,   1.4 );  
   643       SetParams( 2, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   644       SetParams( 3, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   645       SetParams( 4, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0  ,     0.0);
   647     if ( AbsProjectileBaryonNumber > 1  ||  NumberOfTargetNucleons > 1 ) {
   648       SetParams( 2,      0.0 , 0.0 ,            0.0 , 0.0 , 0.0, 0.0  ,  -100.0  );  
   666   G4double Puubar( 1.0/3.0 ), Pddbar( 1.0/3.0 ), Pssbar( 1.0/3.0 );  
   671  if ( ProjectileabsPDGcode < 1000 ) {  
   674            G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + 
G4Exp( 4.0*(Ylab - 2.1) ) ) );
   678                                          ( 1.0 + 
G4Exp( 4.0*(Ylab - 2.5) ) ) )*GeV*GeV );
   681  } 
else if ( ProjectilePDGcode < -1000 ) {  
   684            G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + 
G4Exp( 4.0*(Ylab - 2.1) ) ) );
   688                                          ( 1.0 + 
G4Exp( 4.0*(Ylab - 2.5) ) ) )*GeV*GeV );
   703            G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + 
G4Exp( 4.0*(Ylab - 2.1) ) ) );
   705            G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + 
G4Exp( 4.0*(Ylab - 2.1) ) ) );
   709                                          ( 1.0 + 
G4Exp( 4.0*(Ylab - 2.5) ) ) )*GeV*GeV );
   758     if(Prob < 0.) Prob=0.;                                       
   764   if(Prob < 0.) Prob=0.;                                         
 
static G4Pow * GetInstance()
 
static G4ThreadLocal G4ChipsComponentXS * chipsComponentXSinstance
 
void SetProbLogDistr(const G4double aValue)
 
G4int GetBaryonNumber() const
 
G4double ProbabilityOfAnnihilation
 
G4double Pt2ofNuclearDestruction
 
void SetCofNuclearDestructionPr(const G4double aValue)
 
void SetProbLogDistrPrD(const G4double aValue)
 
void SetTarMinNonDiffMass(const G4double aValue)
 
void SetDofNuclearDestruction(const G4double aValue)
 
void SetSlope(const G4double Slope)
 
G4ChipsComponentXS * FTFxsManager
 
G4double CofNuclearDestruction
 
G4double ExcitationEnergyPerWoundedNucleon
 
G4double DeltaProbAtQuarkExchange
 
static G4KaonMinus * KaonMinus()
 
void SetGamma0(const G4double Gamma0)
 
G4GLOB_DLL std::ostream G4cout
 
void SetAveragePt2(const G4double aValue)
 
G4int GetPDGEncoding() const
 
G4double DofNuclearDestruction
 
void SetElastisCrossSection(const G4double Xelastic)
 
void SetPt2Kink(const G4double aValue)
 
G4double AvaragePt2ofElasticScattering
 
void SetRadiusOfHNinteractions2(const G4double Radius2)
 
G4double ProbabilityOfElasticScatt
 
void SetMaxNumberOfCollisions(const G4double aValue, const G4double bValue)
 
void SetExcitationEnergyPerWoundedNucleon(const G4double aValue)
 
static G4Proton * Proton()
 
void SetProjMinNonDiffMass(const G4double aValue)
 
static G4PionPlus * PionPlus()
 
void SetQuarkProbabilitiesAtGluonSplitUp(const G4double Puubar, const G4double Pddbar, const G4double Pssbar)
 
virtual G4double GetElasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)
 
static G4Neutron * Neutron()
 
G4double GetProcProb(const G4int ProcN, const G4double y)
 
void SetInelasticCrossSection(const G4double Xinelastic)
 
G4double RadiusOfHNinteractions2
 
void SetProbabilityOfElasticScatt(const G4double Xtotal, const G4double Xelastic)
 
void SetDeltaProbAtQuarkExchange(const G4double aValue)
 
void SetTotalCrossSection(const G4double Xtotal)
 
void SetProjMinDiffMass(const G4double aValue)
 
G4double G4Log(G4double x)
 
G4double G4Exp(G4double initial_x)
Exponential Function double precision. 
 
G4double MaxPt2ofNuclearDestruction
 
G4double ProbOfSameQuarkExchange
 
void SetMaxPt2ofNuclearDestruction(const G4double aValue)
 
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 R2ofNuclearDestruction
 
G4double GetPDGMass() const
 
static G4PionMinus * PionMinus()
 
G4double ProcParams[5][7]
 
void SetCofNuclearDestruction(const G4double aValue)
 
G4double ProbOfInelInteraction
 
static const double millibarn
 
void SetProbOfSameQuarkExchange(const G4double aValue)
 
G4double FTFXannihilation
 
G4double ProjMinNonDiffMass
 
virtual G4double GetTotalElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)
 
G4double powA(G4double A, G4double y) const
 
G4double MaxNumberOfCollisions
 
void SetProbabilityOfAnnihilation(const G4double aValue)
 
static G4KaonPlus * KaonPlus()
 
G4double CofNuclearDestructionPr
 
static G4ThreadLocal bool chipsComponentXSisInitialized
 
void SetPt2ofNuclearDestruction(const G4double aValue)
 
G4double GetPDGCharge() const
 
void SetAvaragePt2ofElasticScattering(const G4double aPt2)
 
void SetTarMinDiffMass(const G4double aValue)
 
static const double fermi
 
void SetR2ofNuclearDestruction(const G4double aValue)
 
G4double TarMinNonDiffMass