#include <G4ScreeningMottCrossSection.hh>
G4ScreeningMottCrossSection::G4ScreeningMottCrossSection |
( |
| ) |
|
|
explicit |
Definition at line 86 of file G4ScreeningMottCrossSection.cc.
99 spin = mass = mu_rel=0.0;
100 tkinLab = momLab2 = invbetaLab2=0.0;
101 tkin = mom2 = invbeta2=beta=gamma=0.0;
103 Trec=targetZ = targetMass = As =0.0;
111 for(
G4int i=0 ; i<5; ++i){
112 for(
G4int j=0; j< 6; ++j){
static G4Pow * GetInstance()
static constexpr double hbarc_squared
static G4NistManager * Instance()
static constexpr double electron_mass_c2
static constexpr double classic_electr_radius
static G4double dangle[DIM]
static constexpr double fine_structure_const
G4ScreeningMottCrossSection::~G4ScreeningMottCrossSection |
( |
| ) |
|
|
virtual |
Definition at line 231 of file G4ScreeningMottCrossSection.cc.
236 G4double Tmax=2.*M*E*(E+2.*mass)/(mass*mass+M*M+2.*M*Etot);
G4double powN(G4double x, G4int n) const
static constexpr double cm
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition at line 253 of file G4ScreeningMottCrossSection.cc.
258 G4double Tmax=2.*M*E*(E+2.*mass)/(mass*mass+M*M+2.*M*Etot);
G4double powN(G4double x, G4int n) const
static constexpr double cm
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition at line 277 of file G4ScreeningMottCrossSection.cc.
282 G4double Tmax=2.*M*E*(E+2.*mass)/(mass*mass+M*M+2.*M*Etot);
292 G4double F0=(3./fG4pow->
powN(x0,3))*(sin(x0)-x0*cos(x0));
295 G4double F1=(3./fG4pow->
powN(x1,3))*(sin(x1)-x1*cos(x1));
G4double powN(G4double x, G4int n) const
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double G4ScreeningMottCrossSection::GetMom2CM |
( |
| ) |
const |
|
inline |
G4double G4ScreeningMottCrossSection::GetMom2Lab |
( |
| ) |
const |
|
inline |
G4double G4ScreeningMottCrossSection::GetScatteringAngle |
( |
| ) |
|
Definition at line 391 of file G4ScreeningMottCrossSection.cc.
407 step=(1./TotalCross)*cross[i];
409 if(r >=y-step && r<y ){
static G4double angle[DIM]
static G4double dangle[DIM]
G4double G4ScreeningMottCrossSection::GetScreeningAngle |
( |
| ) |
|
G4double G4ScreeningMottCrossSection::GetScreeningCoefficient |
( |
| ) |
const |
|
inline |
G4double G4ScreeningMottCrossSection::GetTotalCross |
( |
| ) |
const |
|
inline |
G4double G4ScreeningMottCrossSection::GetTrec |
( |
| ) |
const |
|
inline |
Definition at line 133 of file G4ScreeningMottCrossSection.cc.
137 tkin = targetZ = mom2 = 0.0;
140 cosThetaMin = CosThetaLim;
void SetupParticle(const G4ParticleDefinition *)
G4double G4ScreeningMottCrossSection::NuclearCrossSection |
( |
G4int |
form | ) |
|
Definition at line 345 of file G4ScreeningMottCrossSection.cc.
347 if(cosTetMaxNuc >= cosTetMinNuc)
return 0.0;
361 if (coeffb[0][0]!=0){
364 }
else if (coeffb[0][0]==0){
375 G4double fatt= targetZ/(mu_rel*gamma*beta*beta);
376 G4double sigma=e2*e2*fatt*fatt*func;
379 cross[i]=pi2sintet*F2*R*sigma*
dangle[i];
381 if(cross[i]<0){cross[i]=0;};
382 TotalCross+=cross[i];
G4double powN(G4double x, G4int n) const
G4double RatioMottRutherford(G4double)
G4double FormFactor2Gauss(G4double)
static constexpr double twopi
G4double FormFactor2ExpHof(G4double)
static G4double dangle[DIM]
G4double McFcorrection(G4double)
G4double FormFactor2UniformHelm(G4double)
Definition at line 319 of file G4ScreeningMottCrossSection.cc.
322 G4double fcost=std::sqrt((1. -cos(angles)));
324 static const G4double shift=0.7181228;
327 for(
G4int j=0 ;j<=4;j++){
331 for(
G4int j=0 ;j<=4;j++){
332 for(
G4int k=0;k<=5;k++ ){
333 a[j]+=coeffb[j][k]*fG4pow->
powN(beta0,k);
337 for(
G4int j=0; j<=4; ++j){
338 R+=a[j]*fG4pow->
powN(fcost,j);
G4double powN(G4double x, G4int n) const
void G4ScreeningMottCrossSection::SetScreeningCoefficient |
( |
| ) |
|
Definition at line 144 of file G4ScreeningMottCrossSection.cc.
153 G4double factor= 1.13 + 3.76*targetZ*targetZ*invbeta2*alpha2;
154 As=0.25*(htc2)/(twoR2*mom2)*factor;
static constexpr double Bohr_radius
G4double Z13(G4int Z) const
Definition at line 172 of file G4ScreeningMottCrossSection.cc.
191 momLab2 = tkinLab*(tkinLab + 2.0*mass);
192 invbetaLab2 = 1.0 + mass*mass/momLab2;
202 G4double Ecm=sqrt(m12 + mass2*mass2 + 2.0*etot*mass2);
203 mu_rel=mass*mass2/Ecm;
209 tkin = momCM*sqrt(invbeta2) - mu_rel;
211 beta=std::sqrt(beta2) ;
213 gamma=std::sqrt(gamma2);
221 cosTetMinNuc =cosThetaMin;
222 cosTetMaxNuc =cosThetaMax;
static G4double GetNuclearMass(const G4double A, const G4double Z)
double A(double temperature)
G4double GetAtomicMassAmu(const G4String &symb) const
void SetScreeningCoefficient()
void SetMottCoeff(G4double targetZ, G4double coeff[5][6])
The documentation for this class was generated from the following files: