#include <G4QProbability.hh>
Definition at line 52 of file G4QProbability.hh.
G4QProbability::G4QProbability | ( | G4int | PDGCode = 2212 |
) |
Definition at line 50 of file G4QProbability.cc.
References G4cout, and G4endl.
00051 { 00052 S0 = 1.*GeV*GeV; // Must be a constant (just GeV^2 unit !) 00053 pom_Alpha = 1.0808; // Must be the same for all hadrons 00054 pom_Alphaprime = 0.25/GeV/GeV; 00055 qex_Gamma = 9./GeV/GeV; 00056 qex_R2 = 27./GeV/GeV; 00057 qex_Alphaprime = 1.5/GeV/GeV; 00058 00059 G4int aP = std::abs(PDG); 00060 if (PDG==2212 || PDG==2112) InitForNucleon(); 00061 else if(PDG==111 || aP==211) InitForPion(); 00062 else if(PDG==130 || PDG==310 || aP==311 || aP==321) InitForKaon(); 00063 else if(PDG==22) InitForGamma(); 00064 else if(PDG > 3000) InitForHyperon(); 00065 else if(PDG <-2000) InitForAntiBaryon(); 00066 else 00067 { 00068 G4cout<<"-Warning-G4QProbability is initialized for PDGCode="<<PDG<<" as Pion"<<G4endl; 00069 InitForPion(); 00070 } 00071 pom_sqC=std::sqrt(pom_C); 00072 }
G4QProbability::~G4QProbability | ( | ) | [inline] |
G4double G4QProbability::GetCutPomProbability | ( | const G4double | s, | |
const G4double | ip2, | |||
const G4int | nPom | |||
) |
Definition at line 74 of file G4QProbability.cc.
Referenced by G4QFragmentation::G4QFragmentation(), and G4QIonIonCollision::G4QIonIonCollision().
00076 { 00077 static const G4int nft=11; 00078 static const G4int nf1=nft-1; 00079 static const G4double ft[nft]={1.,1.,2.,6.,24.,120.,720.,5040.,40320.,362880.,3628800.}; 00080 if(nPom<0) return 0.; 00081 G4double f=ft[nf1]; 00082 if(nPom<nft) f=ft[nPom]; 00083 else for(G4int i=nft; i<= nPom; i++) f*=i; // Calculate factorial for high nPom 00084 G4double e=PomEikonal(s_value,imp2); e+=e; // Doubled Eikonal 00085 return std::exp(-e)*std::pow(e,nPom)/pom_C/f; 00086 }
G4double G4QProbability::GetCutQexProbability | ( | const G4double | s, | |
const G4double | ip2, | |||
const G4int | nQex | |||
) |
Definition at line 88 of file G4QProbability.cc.
00090 { 00091 static const G4int nft=11; 00092 static const G4int nf1=nft-1; 00093 static const G4double ft[nft]={1.,1.,2.,6.,24.,120.,720.,5040.,40320.,362880.,3628800.}; 00094 if(nQex<0) return 0.; 00095 G4double f=ft[nf1]; 00096 if(nQex<nft) f=ft[nQex]; 00097 else for(G4int i=nft; i<= nQex; i++) f*=i; // Calculate factorial for high nPom 00098 G4double e=QexEikonal(s_value,imp2); e+=e; // Doubled Eikonal 00099 return std::exp(-e)*std::pow(e,nQex)/f; 00100 }
G4double G4QProbability::GetPomAbsProbability | ( | const G4double | s_value, | |
const G4double | imp2 | |||
) | [inline] |
G4double G4QProbability::GetPomCohProbability | ( | const G4double | s_value, | |
const G4double | imp2 | |||
) | [inline] |
Definition at line 76 of file G4QProbability.hh.
References sqr().
Referenced by GetPomDiffProbability(), GetPomDubDiffProbability(), GetPomElProbability(), and GetPomSinDiffProbability().
00077 {return sqr(1.-std::exp(-PomEikonal(s_value,imp2)))/pom_C;}
G4double G4QProbability::GetPomDiffProbability | ( | const G4double | s_value, | |
const G4double | imp2 | |||
) | [inline] |
Definition at line 78 of file G4QProbability.hh.
References GetPomCohProbability().
Referenced by G4QFragmentation::G4QFragmentation(), G4QIonIonCollision::G4QIonIonCollision(), and GetPomInelProbability().
00079 {return ((pom_C-1.)/pom_C)*GetPomCohProbability(s_value,imp2);}
G4double G4QProbability::GetPomDubDiffProbability | ( | const G4double | s_value, | |
const G4double | imp2 | |||
) | [inline] |
Definition at line 80 of file G4QProbability.hh.
References GetPomCohProbability(), and sqr().
00081 {return (sqr(pom_sqC-1.)/pom_C)*GetPomCohProbability(s_value,imp2);}
G4double G4QProbability::GetPomElProbability | ( | const G4double | s_value, | |
const G4double | imp2 | |||
) | [inline] |
Definition at line 86 of file G4QProbability.hh.
References GetPomCohProbability().
00087 {return GetPomCohProbability(s_value,imp2)/pom_C;}
G4double G4QProbability::GetPomInelProbability | ( | const G4double | s_value, | |
const G4double | imp2 | |||
) | [inline] |
Definition at line 88 of file G4QProbability.hh.
References GetPomAbsProbability(), and GetPomDiffProbability().
Referenced by G4QFragmentation::G4QFragmentation(), and G4QIonIonCollision::G4QIonIonCollision().
00089 {return GetPomDiffProbability(s_value,imp2) + GetPomAbsProbability(s_value,imp2);}
G4double G4QProbability::GetPomSinDiffProbability | ( | const G4double | s_value, | |
const G4double | imp2 | |||
) | [inline] |
Definition at line 82 of file G4QProbability.hh.
References GetPomCohProbability().
00083 {return ((pom_sqC-1.)/pom_C)*GetPomCohProbability(s_value,imp2);}
G4double G4QProbability::GetPomTotProbability | ( | const G4double | s_value, | |
const G4double | imp2 | |||
) | [inline] |
Definition at line 187 of file G4QProbability.cc.
References GetQexDubDiffProbability(), and GetQexSinDiffProbability().
00188 { 00189 return GetQexDubDiffProbability(s_value,imp2)+2*GetQexSinDiffProbability(s_value,imp2); 00190 }
Definition at line 171 of file G4QProbability.cc.
References sqr().
Referenced by GetQexDiffProbability().
00172 { 00173 G4double ExpPom=std::exp(-PomEikonal(s_value,imp2)); 00174 G4double ExpQex=std::exp(-QexEikonal(s_value,imp2)); 00175 G4double Amp=sqr(pom_sqC-1.)*(ExpQex*(1.-ExpPom) + ExpPom*(1.-ExpQex))/pom_C; 00176 return Amp*Amp; 00177 }
Definition at line 163 of file G4QProbability.cc.
References sqr().
00164 { 00165 G4double ExpPom=std::exp(-PomEikonal(s_value,imp2)); 00166 G4double ExpQex=std::exp(-QexEikonal(s_value,imp2)); 00167 G4double Amp=(ExpQex*(1.-ExpPom) + sqr(pom_sqC-1.)*ExpPom*(1.-ExpQex))/pom_C; 00168 return Amp*Amp; 00169 }
Definition at line 192 of file G4QProbability.cc.
References sqr().
00193 { 00194 G4double ExpPom=std::exp(-PomEikonal(s_value,imp2)); 00195 G4double ExpQex=std::exp(-QexEikonal(s_value,imp2)); 00196 G4double Amp=sqr(pom_sqC-1.)*(ExpQex*(1.-ExpPom) + ExpPom*(1.-ExpQex))/pom_C; 00197 return Amp+Amp-Amp*Amp; 00198 }
Definition at line 179 of file G4QProbability.cc.
Referenced by GetQexDiffProbability().
00180 { 00181 G4double ExpPom=std::exp(-PomEikonal(s_value,imp2)); 00182 G4double ExpQex=std::exp(-QexEikonal(s_value,imp2)); 00183 G4double Amp=(pom_sqC-1.)*(ExpQex*(1.-ExpPom) - (pom_sqC-1.)*ExpPom*(1.-ExpQex))/pom_C; 00184 return Amp*Amp; 00185 }
Definition at line 155 of file G4QProbability.cc.
References sqr().
00156 { 00157 G4double ExpPom=std::exp(-PomEikonal(s_value,imp2)); 00158 G4double ExpQex=std::exp(-QexEikonal(s_value,imp2)); 00159 G4double Amp=(ExpQex*(1.-ExpPom) + sqr(pom_sqC-1.)*ExpPom*(1.-ExpQex))/pom_C; 00160 return Amp+Amp; 00161 }
void G4QProbability::SetGamma | ( | const G4double | aGam | ) | [inline] |
void G4QProbability::SetPom_Alpha | ( | G4double | aPom_Alpha | ) | [inline] |
void G4QProbability::SetPom_Alphaprime | ( | G4double | aPom_Alphaprime | ) | [inline] |
void G4QProbability::SetPom_C | ( | G4double | aPom_C | ) | [inline] |
void G4QProbability::SetPom_Gamma | ( | G4double | aPom_Gamma | ) | [inline] |
void G4QProbability::SetPom_R2 | ( | G4double | aPom_R2 | ) | [inline] |
void G4QProbability::SetS0 | ( | G4double | aS0 | ) | [inline] |