86    alpha(fine_structure_const),
 
   88    e2(electron_mass_c2*classic_electr_radius) 
 
  108         for(
G4int i=0 ; i<5; i++){
 
  109                 for(
G4int j=0; j< 6; j++){
 
  163                 if(
As < 0.0) { 
As = 0.0; }
 
  164                 else if(
As > 1.0) { 
As = 1.0; }
 
  170                 if(screenangle>=
pi) screenangle=
pi;
 
  210                 G4double Ecm=sqrt(m12 + mass2*mass2 + 2.0*etot*mass2);
 
  218                 beta=std::sqrt(beta2) ;
 
  220                 gamma=std::sqrt(gamma2);
 
  244        G4double Tmax=2.*M*E*(E+2.*
mass)/(mass*mass+M*M+2.*M*Etot);
 
  245        G4double T=Tmax*pow(sin(angle/2.),2.);
 
  266         G4double sintmezzi=std::sin(angle/2.);
 
  267         G4double sin2tmezzi = sintmezzi*sintmezzi;
 
  278         G4double fcost=std::sqrt((1. -cos(angle)));
 
  283               for(
G4int j=0 ;j<=4;j++){
 
  287                 for(
G4int j=0 ;j<=4;j++){
 
  288                         for(
G4int k=0;k<=5;k++ ){  
 
  289                                 a[j]+=
coeffb[j][k]*pow(beta0,k);
 
  293         for(
G4int j=0 ;j<=4 ;j++){
 
  294                 R+=a[j]* pow(fcost,j);
 
  313         static const G4double limit = 1.e-9;
 
  314         if(anglemin < limit) {
 
  316           if(anglemin < limit) { anglemin = limit; }
 
  321         G4double loganglemin=log10(anglemin);
 
  322         G4double loganglemax=log10(anglemax);
 
  325         G4int bins=(
G4int)((loganglemax-loganglemin)/logdangle);
 
  328         vector<G4double> angle;
 
  329         vector<G4double> tet;
 
  330         vector<G4double> dangle;
 
  331         vector<G4double> cross;
 
  333               for(
G4int i=0; i<=bins; i++ ){
 
  336                      angle.push_back(pow(10.,loganglemin+logdangle*i));
 
  341                 G4int  dim = tet.size();
 
  345                 for(
G4int i=0; i<dim;i++){
 
  348                         dangle[i]=(angle[i+1]-angle[i]);
 
  349                         tet[i]=(angle[i+1]+angle[i])/2.;
 
  363                         else if (
coeffb[0][0]==0){
 
  408                  else if (
coeffb[0][0]==0){
 
  415                                 ((2*
As+2.*pow(sin(anglein/2.),2.))*(2.*
As+2.*pow(sin(anglein/2.),2.) ));
 
  434         static const G4double limit = 1.e-9;
 
  435         if(anglemin < limit) {
 
  437           if(anglemin < limit) { anglemin = limit; }
 
  444         G4double loganglemin=log10(anglemin);
 
  445         G4double loganglemax=log10(anglemax);
 
  448         G4int bins=(
G4int)((loganglemax-loganglemin)/logdangle);
 
  450         std::vector<G4double> angle;
 
  451         std::vector<G4double> tet;
 
  452         std::vector<G4double> dangle;
 
  454               for(
G4int i=0; i<=bins; i++ ){
 
  457                      angle.push_back(pow(10.,loganglemin+logdangle*i));
 
  461                 G4int  dim = tet.size();
 
  467                 for(
G4int i=0; i<dim;i++){
 
  470                         dangle[i]=(angle[i+1]-angle[i]);
 
  471                         tet[i]=(angle[i+1]+angle[i])/2.;
 
  480                         if(r >=y-dy && r<=y+dy ){       
 
  505         G4double cost = sqrt(1.0 - sint*sint);
 
  515         Trec=(1.0 - cost)* mass2*(etot*etot - mass*mass )/
 
  516                               (mass*mass + mass2*mass2+ 2.*mass2*etot);
 
  518         dir.set(dirx,diry,dirz);
 
G4double GetScreeningAngle()
 
static G4double GetNuclearMass(const G4double A, const G4double Z)
 
const G4ParticleDefinition * particle
 
CLHEP::Hep3Vector G4ThreeVector
 
void Initialise(const G4ParticleDefinition *, G4double cosThetaLim)
 
G4double RatioMottRutherford(G4double)
 
void SetupParticle(const G4ParticleDefinition *)
 
virtual ~G4ScreeningMottCrossSection()
 
static G4NistManager * Instance()
 
G4MottCoefficients * mottcoeff
 
G4double FormFactor2ExpHof(G4double)
 
G4double NuclearCrossSection()
 
static const G4double A[nN]
 
G4double AngleDistribution(G4double)
 
G4double total(Particle const *const p1, Particle const *const p2)
 
G4double GetAtomicMassAmu(const G4String &symb) const 
 
G4double GetScatteringAngle()
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
void SetScreeningCoefficient()
 
G4NistManager * fNistManager
 
void SetMottCoeff(G4double targetZ, G4double coeff[5][6])
 
G4double McFcorrection(G4double)
 
G4ScreeningMottCrossSection()
 
G4ThreeVector GetNewDirection()
 
void SetupKinematic(G4double kinEnergy, G4double Z)
 
static const G4double alpha