36 pomeron_Alpha(0), pomeron_Alpha_Hard(0), pomeron_Alphaprime(0),
37 pomeron_C(0), pomeron_Gamma(0), pomeron_Gamma_Hard(0),
38 pomeron_Rsquare(0), pomeron_S(0)
52 else if (Encoding/100== 3 || Encoding/10 == 3)
110 return SigP(S) * FZ2;
116 return SigP(S)/pomeron_C *(Expand(Z(S)/2) - Expand(Z(S)));
134 return 2/pomeron_C*(1-std::exp(-1*Eikonal(S,impactsquare)));
140 return (pomeron_C-1)/pomeron_C *
148 return (1-std::exp(-2*Eikonal(S,impactsquare)))/pomeron_C;
170 return std::exp(-2*Eikonal(S,impactsquare))/pomeron_C*
171 std::pow(2*Eikonal(S,impactsquare),nPomerons)/factorial;
177 pomeron_Gamma=agam/GeV/GeV;
183void G4PomeronCrossSection::InitForNucleon()
186 pomeron_S= 2.7*GeV*GeV;
189 pomeron_Gamma= (2.6+3.96)/GeV/GeV;
191 pomeron_Rsquare= 3.56/GeV/GeV;
193 pomeron_Alpha= 0.9808;
194 pomeron_Alphaprime= 0.25/GeV/GeV;
195 pomeron_Gamma_Hard = 0.0002/GeV/GeV;
197 pomeron_Alpha_Hard = 1.47;
200void G4PomeronCrossSection::InitForPion()
202 pomeron_S= 1.5*GeV*GeV;
204 pomeron_Gamma= 2.17/GeV/GeV;
206 pomeron_Rsquare= 2.36/GeV/GeV;
207 pomeron_Alpha= 1.0808;
208 pomeron_Alphaprime= 0.25/GeV/GeV;
209 pomeron_Gamma_Hard = 0.0002/GeV/GeV;
210 pomeron_Alpha_Hard = 1.47;
213void G4PomeronCrossSection::InitForKaon()
215 pomeron_S= 2.3*GeV*GeV;
217 pomeron_Gamma= 1.92/GeV/GeV;
219 pomeron_Rsquare= 1.96/GeV/GeV;
220 pomeron_Alpha= 1.0808;
221 pomeron_Alphaprime= 0.25/GeV/GeV;
222 pomeron_Gamma_Hard = 0.0002/GeV/GeV;
223 pomeron_Alpha_Hard = 1.47;
226void G4PomeronCrossSection::InitForGamma()
228 pomeron_S= 1.7*GeV*GeV;
230 pomeron_Gamma= 2.07/GeV/GeV;
232 pomeron_Rsquare= 2.16/GeV/GeV;
233 pomeron_Alpha= 1.0808;
234 pomeron_Alphaprime= 0.25/GeV/GeV;
235 pomeron_Gamma_Hard = 0.0002/GeV/GeV;
236 pomeron_Alpha_Hard = 1.47;
244 for (
G4int j=2; j<21; j++ )
246 current *= -z *(j-1)/
sqr(j);
254 return pomeron_Gamma *std::pow(S/pomeron_S, pomeron_Alpha -1);
259 return 2*pomeron_C * Power(S) / Lambda(S);
264 return pomeron_Rsquare+pomeron_Alphaprime*std::log(S/pomeron_S);
269 return 8 *
pi * hbarc_squared * Power(S);
275 return Z(S)/2 * std::exp(-impactsquare/(4*Lambda(S)*hbarc_squared));
280 return pomeron_Gamma *std::pow(S/pomeron_S, pomeron_Alpha -1);
285 return pomeron_Gamma_Hard*std::pow(S/pomeron_S, pomeron_Alpha_Hard -1);
290 return pomeron_Rsquare+pomeron_Alphaprime*std::log(S/pomeron_S);
295 return pomeron_Rsquare;
300 return 2*pomeron_C*PowerHard(S) / LambdaSoft(S);
305 return 2*pomeron_C*PowerHard(S)/LambdaHard(S);
310 return Zsoft(S)/2*std::exp(-impactsquare/LambdaSoft(S)/hbarc_squared/4);
315 return Zhard(S)/2*std::exp(-impactsquare/LambdaHard(S)/hbarc_squared/4);
G4int GetPDGEncoding() const
G4int GetBaryonNumber() const
G4double GetTotalCrossSection(const G4double s)
G4double GetElasticCrossSection(const G4double s)
G4double HardEikonal(G4double s, G4double impactsquare)
void Setgamma(const G4double agam)
G4double GetNondiffractiveProbability(const G4double s, const G4double impactsquare)
G4double GetInelasticProbability(const G4double s, const G4double impactsquare)
G4double GetDiffractiveProbability(const G4double s, const G4double impactsquare)
G4double GetCutPomeronProbability(const G4double s, const G4double impactsquare, const G4int nPomerons)
G4double GetInelasticCrossSection(const G4double s)
G4PomeronCrossSection(const G4ParticleDefinition *)
G4double SoftEikonal(G4double s, G4double impactsquare)
G4double GetDiffractiveCrossSection(const G4double s)
G4double GetElasticProbability(const G4double s, const G4double impactsquare)
G4double GetTotalProbability(const G4double s, const G4double impactsquare)
static G4Pow * GetInstance()
G4double factorial(G4int Z)