G4QProbability Class Reference

#include <G4QProbability.hh>


Public Member Functions

 G4QProbability (G4int PDGCode=2212)
 ~G4QProbability ()
void SetS0 (G4double aS0)
void SetPom_Gamma (G4double aPom_Gamma)
void SetGamma (const G4double aGam)
void SetPom_C (G4double aPom_C)
void SetPom_R2 (G4double aPom_R2)
void SetPom_Alpha (G4double aPom_Alpha)
void SetPom_Alphaprime (G4double aPom_Alphaprime)
G4double GetQexTotProbability (const G4double s, const G4double imp2)
G4double GetQexCohProbability (const G4double s, const G4double imp2)
G4double GetQexDiffProbability (const G4double s, const G4double imp2)
G4double GetQexDubDiffProbability (const G4double s, const G4double imp2)
G4double GetQexSinDiffProbability (const G4double s, const G4double imp2)
G4double GetQexAbsProbability (const G4double s, const G4double imp2)
G4double GetQexElProbability (const G4double s, const G4double imp2)
G4double GetQexInelProbability (const G4double s, const G4double imp2)
G4double GetPomTotProbability (const G4double s_value, const G4double imp2)
G4double GetPomCohProbability (const G4double s_value, const G4double imp2)
G4double GetPomDiffProbability (const G4double s_value, const G4double imp2)
G4double GetPomDubDiffProbability (const G4double s_value, const G4double imp2)
G4double GetPomSinDiffProbability (const G4double s_value, const G4double imp2)
G4double GetPomAbsProbability (const G4double s_value, const G4double imp2)
G4double GetPomElProbability (const G4double s_value, const G4double imp2)
G4double GetPomInelProbability (const G4double s_value, const G4double imp2)
G4double GetCutPomProbability (const G4double s, const G4double ip2, const G4int nPom)
G4double GetCutQexProbability (const G4double s, const G4double ip2, const G4int nQex)


Detailed Description

Definition at line 52 of file G4QProbability.hh.


Constructor & Destructor Documentation

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]

Definition at line 56 of file G4QProbability.hh.

00056 {;}


Member Function Documentation

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]

Definition at line 84 of file G4QProbability.hh.

Referenced by GetPomInelProbability().

00085          {return (1.-std::exp(-2*PomEikonal(s_value,imp2)))/pom_C;}

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 74 of file G4QProbability.hh.

00075          {return 2*(1.-std::exp(-PomEikonal(s_value,imp2)))/pom_C;}

G4double G4QProbability::GetQexAbsProbability ( const G4double  s,
const G4double  imp2 
)

G4double G4QProbability::GetQexCohProbability ( const G4double  s,
const G4double  imp2 
)

G4double G4QProbability::GetQexDiffProbability ( const G4double  s,
const G4double  imp2 
)

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 }

G4double G4QProbability::GetQexDubDiffProbability ( const G4double  s,
const G4double  imp2 
)

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 }

G4double G4QProbability::GetQexElProbability ( const G4double  s,
const G4double  imp2 
)

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 }

G4double G4QProbability::GetQexInelProbability ( const G4double  s,
const G4double  imp2 
)

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 }

G4double G4QProbability::GetQexSinDiffProbability ( const G4double  s,
const G4double  imp2 
)

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 }

G4double G4QProbability::GetQexTotProbability ( const G4double  s,
const G4double  imp2 
)

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]

Definition at line 59 of file G4QProbability.hh.

00059 {pom_Gamma=aGam/CLHEP::GeV/CLHEP::GeV;}// @@ Temporary?

void G4QProbability::SetPom_Alpha ( G4double  aPom_Alpha  )  [inline]

Definition at line 62 of file G4QProbability.hh.

00062 {pom_Alpha = aPom_Alpha;}

void G4QProbability::SetPom_Alphaprime ( G4double  aPom_Alphaprime  )  [inline]

Definition at line 63 of file G4QProbability.hh.

00063 {pom_Alphaprime = aPom_Alphaprime;}

void G4QProbability::SetPom_C ( G4double  aPom_C  )  [inline]

Definition at line 60 of file G4QProbability.hh.

00060 {pom_C = aPom_C;}

void G4QProbability::SetPom_Gamma ( G4double  aPom_Gamma  )  [inline]

Definition at line 58 of file G4QProbability.hh.

00058 {pom_Gamma = aPom_Gamma;}

void G4QProbability::SetPom_R2 ( G4double  aPom_R2  )  [inline]

Definition at line 61 of file G4QProbability.hh.

00061 {pom_R2 = aPom_R2;}

void G4QProbability::SetS0 ( G4double  aS0  )  [inline]

Definition at line 57 of file G4QProbability.hh.

00057 {S0 = aS0;}


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:14 2013 for Geant4 by  doxygen 1.4.7