53   polxx(0.), polyy(0.), polzz(0.), polxz(0.), polzx(0.), polxy(0.), 
    54   polyx(0.), polyz(0.), polzy(0.),
    55   re2(1.), diffXSFactor(1.), totalXSFactor(1.),
   106                ((
sqr(gam) + 4.*gam - 1.)/
sqr(gam + 1.))/eps - 1.);
   118   G4double helpVar2 = 0., helpVar1 = 0.;
   122   helpVar1 = (gam*gam + 4.*gam + 1.)/
sqr(gam + 1.);
   123   helpVar2 = -1./
sqr(gam + 1.);
   125   unpXS = 0.125 * calcVector * sumEpsVector;
   128   helpVar2 = 1./
sqr(gam + 1.);
   129   helpVar1 = -(gam*gam + 4.*gam + 1.)/
sqr(gam + 1.);
   130   calcVector = 
G4ThreeVector(helpVar2, helpVar1, 0.5*(gam + 3.));
   131   ISPxx = 0.25*(calcVector * sumEpsVector)/(gam - 1.);
   133   helpVar1 = 1./
sqr(gam + 1.);
   135   ISPyy = 0.125 * calcVector * sumEpsVector;
   137   helpVar1 = 1./(gam - 1.);
   138   helpVar2 = 1./
sqr(gam + 1.);
   139   calcVector = 
G4ThreeVector(-(gam*gam + 1.)*helpVar2,(gam*gam*(gam + 1.) + 7.*gam + 3.)*helpVar2, -(gam + 3.));
   140   ISPzz = 0.125*helpVar1*(calcVector * sumEpsVector);
   142   helpVar1 = std::sqrt(std::fabs(eps*(1. - eps)*2.*(gam + 1.) - 1.));
   143   calcVector = 
G4ThreeVector(-1./(gam*gam - 1.), 2./(gam - 1.), 0.);
   144   ISPnd = 0.125*(calcVector * difEpsVector) * helpVar1;
   163     G4double circ1 = 0., circ2 = 0., circ3 = 0.;
   164     helpVar1 = 8.*
sqr(1. - eps)*
sqr(eps)*(gam - 1.)*
sqr(gam + 1.)/std::sqrt(gam*gam - 1.);
   165     helpVar2 =  
sqr(gam + 1.)*
sqr(eps)*(-2.*eps + 3.) - (gam*gam + 3.*gam + 2.)*
eps;
   166     circ1 = helpVar2 + 
gam;
   168     circ2 = helpVar2 + 1.;
   170     helpVar1 = std::sqrt(std::fabs(eps*(1. - eps)*2.*(gam + 1.) - 1.));
   171     helpVar1 /= std::sqrt(gam*gam - 1.);
   173     circ3 = 0.125*(calcVector * sumEpsVector)/(gam + 1.);
   176     phi2.
setZ( circ2*pol1.
z() + circ1*pol0.
z() + circ3*(pol1.
x() + pol0.
x()));
   177     phi3.
setZ(-circ1*pol1.
z() - circ2*pol0.
z() - circ3*(pol1.
x() + pol0.
x()));
   182     G4double linearZero = 0.125*(calcVector * sumEpsVector)/
sqr(gam + 1.);
   186     helpVar1 = std::sqrt(std::fabs(2.*(gam + 1.)*(1. - eps)*eps - 1.))/((gam + 1.)*eps*(1. - 
eps));
   187     helpVar2 = helpVar1*helpVar1;
   191     G4double diagContrib = 0.125*helpVar2*(polxx + polyy - 
polzz);
   194     phi2.
setX(linearZero + diagContrib + nonDiagContrib);
   198     nonDiagContrib = 0.125*helpVar1*(
polxz/eps - 
polzx/(1. - 
eps));
   201     phi3.
setX(linearZero + diagContrib + nonDiagContrib);
   205     helpVar1 = std::sqrt(gam*gam - 1.)*(2.*(gam + 1.)*eps*(1. - 
eps) - 1.);
   206     helpVar1 /= 8.*
sqr(1. - eps)*
sqr(eps)*
sqr(gam + 1.)*(gam - 1.);
   207     helpVar2 = std::sqrt((gam*gam - 1.)*std::fabs(2.*(gam + 1.)*eps*(1. - eps) - 1.));
   208     helpVar2 /= 8.*
sqr(1. - eps)*
sqr(eps)*
sqr(gam + 1.)*(gam - 1.);
   213              contrib32 *=helpVar2;
   216              contrib32 = -(eps*(gam + 1.) - 
gam)*
polyz + (eps*(gam + 1.) - 1.)*
polzy;
   217              contrib32 *=helpVar2;
   249   G4double sqrtgam1 = std::sqrt(gam2 - 1.);
   250   G4double logMEM  = std::log(gam+sqrtgam1);
   251   G4double unpME = (gam*(gam + 4.) + 1.)*logMEM;
   252   unpME += -(gam + 3.)*sqrtgam1;
   253   unpME /= 4.*(gam2 - 1.);
   257   G4double longPart = (3+gam*(gam*(gam + 1.) + 7.))*logMEM; 
   258   longPart += - (5.+ gam*(3*gam + 4.))*sqrtgam1;
   259   longPart /= 4.*
sqr(gam - 1.)*(gam + 1.);
   260   G4double tranPart = -(5*gam + 1.)*logMEM;
   261   tranPart += (gam + 5.)*sqrtgam1;
   262   tranPart /= 4.*
sqr(gam - 1.)*(gam + 1.);
   265   xs += 
polzz*longPart;
   309   return 0.5*(1.-std::sqrt((y-1.)/(y+1.)));
   313   return 0.5*(1.+std::sqrt((y-1.)/(y+1.)));
   325   if (choice == 0) 
return unpXS;
   326   if (choice == 1) 
return ISPxx;
   327   if (choice == 2) 
return ISPyy;
   328   if (choice == 3) 
return ISPzz;
   329   if (choice == 4) 
return ISPnd;
 
virtual G4double XSection(const G4StokesVector &pol2, const G4StokesVector &pol3)
 
G4PolarizedAnnihilationCrossSection()
 
CLHEP::Hep3Vector G4ThreeVector
 
void DefineCoefficients(const G4StokesVector &pol0, const G4StokesVector &pol1)
 
virtual G4double TotalXSection(G4double xmin, G4double xmax, G4double y, const G4StokesVector &pol0, const G4StokesVector &pol1)
 
static const G4double eps
 
virtual G4double GetXmin(G4double y)
 
virtual void Initialize(G4double eps, G4double gamma, G4double phi, const G4StokesVector &p0, const G4StokesVector &p1, G4int flag=0)
 
virtual G4double GetXmax(G4double y)
 
int classic_electr_radius
 
virtual ~G4PolarizedAnnihilationCrossSection()