Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4WentzelVIRelXSection Class Reference

#include <G4WentzelVIRelXSection.hh>

+ Inheritance diagram for G4WentzelVIRelXSection:

Public Member Functions

 G4WentzelVIRelXSection ()
 
virtual ~G4WentzelVIRelXSection ()
 
virtual G4double SetupKinematic (G4double kinEnergy, const G4Material *mat)
 
- Public Member Functions inherited from G4WentzelOKandVIxSection
 G4WentzelOKandVIxSection (G4bool comb=true)
 
virtual ~G4WentzelOKandVIxSection ()
 
void Initialise (const G4ParticleDefinition *, G4double CosThetaLim)
 
void SetupParticle (const G4ParticleDefinition *)
 
G4double SetupKinematic (G4double kinEnergy, const G4Material *mat)
 
G4double SetupTarget (G4int Z, G4double cut)
 
G4double ComputeTransportCrossSectionPerAtom (G4double CosThetaMax)
 
G4ThreeVectorSampleSingleScattering (G4double CosThetaMin, G4double CosThetaMax, G4double elecRatio)
 
G4double ComputeSecondTransportMoment (G4double CosThetaMax)
 
G4double ComputeNuclearCrossSection (G4double CosThetaMin, G4double CosThetaMax)
 
G4double ComputeElectronCrossSection (G4double CosThetaMin, G4double CosThetaMax)
 
void SetTargetMass (G4double value)
 
G4double GetMomentumSquare () const
 
G4double GetCosThetaNuc () const
 
G4double GetCosThetaElec () const
 
G4WentzelOKandVIxSectionoperator= (const G4WentzelOKandVIxSection &right)=delete
 
 G4WentzelOKandVIxSection (const G4WentzelOKandVIxSection &)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from G4WentzelOKandVIxSection
void ComputeMaxElectronScattering (G4double cut)
 
void InitialiseA ()
 
G4double FlatFormfactor (G4double x)
 
- Protected Attributes inherited from G4WentzelOKandVIxSection
const G4ParticleDefinitiontheProton
 
const G4ParticleDefinitiontheElectron
 
const G4ParticleDefinitionthePositron
 
const G4MaterialcurrentMaterial
 
G4NistManagerfNistManager
 
G4PowfG4pow
 
G4ScreeningMottCrossSectionfMottXSection
 
G4ThreeVector temp
 
G4double numlimit
 
G4int nwarnings
 
G4int nwarnlimit
 
G4NuclearFormfactorType fNucFormfactor
 
G4bool isCombined
 
G4double coeff
 
G4double cosTetMaxElec
 
G4double cosTetMaxNuc
 
G4double cosThetaMax
 
G4double alpha2
 
const G4ParticleDefinitionparticle
 
G4double chargeSquare
 
G4double charge3
 
G4double spin
 
G4double mass
 
G4double tkin
 
G4double mom2
 
G4double momCM2
 
G4double invbeta2
 
G4double kinFactor
 
G4double etag
 
G4double ecut
 
G4double lowEnergyLimit
 
G4int targetZ
 
G4double targetMass
 
G4double screenZ
 
G4double formfactA
 
G4double factorA2
 
G4double factB
 
G4double factB1
 
G4double factD
 
G4double fMottFactor
 
G4double gam0pcmp
 
G4double pcmp2
 
- Static Protected Attributes inherited from G4WentzelOKandVIxSection
static G4double ScreenRSquareElec [100] = {0.0}
 
static G4double ScreenRSquare [100] = {0.0}
 
static G4double FormFactor [100] = {0.0}
 

Detailed Description

Definition at line 63 of file G4WentzelVIRelXSection.hh.

Constructor & Destructor Documentation

◆ G4WentzelVIRelXSection()

G4WentzelVIRelXSection::G4WentzelVIRelXSection ( )
explicit

Definition at line 52 of file G4WentzelVIRelXSection.cc.

53{}

◆ ~G4WentzelVIRelXSection()

G4WentzelVIRelXSection::~G4WentzelVIRelXSection ( )
virtual

Definition at line 57 of file G4WentzelVIRelXSection.cc.

58{}

Member Function Documentation

◆ SetupKinematic()

G4double G4WentzelVIRelXSection::SetupKinematic ( G4double  kinEnergy,
const G4Material mat 
)
virtual

Definition at line 62 of file G4WentzelVIRelXSection.cc.

64{
65 if(kinEnergy != tkin || mat != currentMaterial) {
66
67 currentMaterial = mat;
68 tkin = kinEnergy;
69 G4double momLab2 = tkin*(tkin + 2.0*mass);
70
71 G4double etot = tkin + mass;
72 G4double ptot = std::sqrt(momLab2);
73 G4double m12 = mass*mass;
74
75 // relativistic reduced mass from publucation
76 // A.P. Martynenko, R.N. Faustov, Teoret. mat. Fiz. 64 (1985) 179
77
78 //incident particle & target nucleus
79 G4double Ecm = std::sqrt(m12 + targetMass*targetMass + 2.0*etot*targetMass);
80 G4double mu_rel = mass*targetMass/Ecm;
81 G4double momCM = ptot*targetMass/Ecm;
82 // relative system
83 mom2 = momCM*momCM;
84 invbeta2 = 1.0 + mu_rel*mu_rel/mom2;
85
87 factD = std::sqrt(mom2)/targetMass;
89 std::max(cosThetaMax, 1.-factorA2*mat->GetIonisation()->GetInvA23()/mom2)
91 }
92 return cosTetMaxNuc;
93}
double G4double
Definition: G4Types.hh:83
G4double GetInvA23() const
G4IonisParamMat * GetIonisation() const
Definition: G4Material.hh:224

Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), and G4hCoulombScatteringModel::SampleSecondaries().


The documentation for this class was generated from the following files: