#include <G4IonCoulombCrossSection.hh>
Definition at line 69 of file G4IonCoulombCrossSection.hh.
G4IonCoulombCrossSection::G4IonCoulombCrossSection |
( |
| ) |
|
|
explicit |
Definition at line 70 of file G4IonCoulombCrossSection.cc.
87 chargeSquare = spin = mass = 0.0;
88 tkinLab = momLab2 = invbetaLab2 = tkin = mom2 = invbeta2 = 0.0;
90 targetZ = targetMass = screenZ = ScreenRSquare = etag = 0.0;
static G4Pow * GetInstance()
static G4NistManager * Instance()
static constexpr double twopi
static G4Proton * Proton()
G4IonCoulombCrossSection::~G4IonCoulombCrossSection |
( |
| ) |
|
|
virtual |
G4double G4IonCoulombCrossSection::GetMomentum2 |
( |
| ) |
|
|
inline |
Definition at line 99 of file G4IonCoulombCrossSection.cc.
103 nucXSection = tkin = targetZ = mom2 = 0.0;
106 cosThetaMin = CosThetaLim;
void SetupParticle(const G4ParticleDefinition *)
G4double G4IonCoulombCrossSection::NuclearCrossSection |
( |
| ) |
|
Definition at line 190 of file G4IonCoulombCrossSection.cc.
194 G4double fac = coeff*targetZ*(targetZ)*chargeSquare*invbeta2/mom2;
202 if(cosTetMaxNuc < cosTetMinNuc) {
203 nucXSection = fac*(cosTetMinNuc - cosTetMaxNuc)/
204 (x1*(1.0 - cosTetMaxNuc + screenZ));
static const G4double fac
G4double G4IonCoulombCrossSection::SampleCosineTheta |
( |
| ) |
|
Definition at line 111 of file G4IonCoulombCrossSection.cc.
113 if(ekin != tkinLab || tmass != targetMass) {
117 momLab2 = tkinLab*(tkinLab + 2.0*mass);
118 invbetaLab2 = 1.0 + mass*mass/momLab2;
128 G4double Ecm=sqrt(m12 + targetMass*targetMass + 2.0*etot*targetMass);
129 G4double mu_rel=mass*targetMass/Ecm;
130 G4double momCM= ptot*targetMass/Ecm;
133 invbeta2 = 1.0 + mu_rel*mu_rel/mom2;
134 tkin = momCM*sqrt(invbeta2) - mu_rel;
136 cosTetMinNuc = cosThetaMin;
137 cosTetMaxNuc = cosThetaMax;
Definition at line 147 of file G4IonCoulombCrossSection.hh.
152 if(0.0 != spin) { spin = 0.5; }
static constexpr double eplus
G4double GetPDGMass() const
G4double GetPDGSpin() const
G4double GetPDGCharge() const
Definition at line 143 of file G4IonCoulombCrossSection.cc.
146 if(
Z != targetZ || e != etag) {
151 SetScreenRSquare(iz);
153 screenZ = ScreenRSquare/mom2;
159 screenZ *=0.5*(1.13 + corr*3.76*
Z*
Z*chargeSquare*invbeta2*alpha2);
163 if(1 == iz && particle == theProton && cosTetMaxNuc < 0.0) {
static constexpr double twopi
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
The documentation for this class was generated from the following files: