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

#include <G4WentzelOKandVIxSection.hh>

+ Inheritance diagram for G4WentzelOKandVIxSection:

Public Member Functions

 G4WentzelOKandVIxSection (G4bool combined=true)
 
virtual ~G4WentzelOKandVIxSection ()
 
void Initialise (const G4ParticleDefinition *, G4double CosThetaLim)
 
void SetupParticle (const G4ParticleDefinition *)
 
virtual 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
 

Protected Member Functions

void ComputeMaxElectronScattering (G4double cut)
 
void InitialiseA ()
 
G4double FlatFormfactor (G4double x)
 

Protected Attributes

const G4ParticleDefinitiontheProton
 
const G4ParticleDefinitiontheElectron
 
const G4ParticleDefinitionthePositron
 
const G4ParticleDefinitionparticle = nullptr
 
const G4MaterialcurrentMaterial = nullptr
 
G4NistManagerfNistManager
 
G4PowfG4pow
 
G4ScreeningMottCrossSectionfMottXSection = nullptr
 
G4ThreeVector temp
 
G4double coeff
 
G4double cosTetMaxElec = 1.0
 
G4double cosTetMaxNuc = 1.0
 
G4double cosThetaMax = 1.0
 
G4double chargeSquare = 0.0
 
G4double charge3 = 0.0
 
G4double spin = 0.0
 
G4double mass = 0.0
 
G4double tkin = 0.0
 
G4double mom2 = 0.0
 
G4double momCM2 = 0.0
 
G4double invbeta2 = 1.0
 
G4double kinFactor = 1.0
 
G4double etag = DBL_MAX
 
G4double ecut = DBL_MAX
 
G4double targetMass
 
G4double screenZ = 0.0
 
G4double formfactA = 0.0
 
G4double factorA2 = 0.0
 
G4double factB = 0.0
 
G4double factD = 0.0
 
G4double fMottFactor = 1.0
 
G4double gam0pcmp = 1.0
 
G4double pcmp2 = 1.0
 
G4int targetZ = 0
 
G4int nwarnings = 0
 
G4NuclearFormfactorType fNucFormfactor = fExponentialNF
 
G4bool isCombined
 

Static Protected Attributes

static G4double ScreenRSquareElec [100] = {0.0}
 
static G4double ScreenRSquare [100] = {0.0}
 
static G4double FormFactor [100] = {0.0}
 

Detailed Description

Definition at line 72 of file G4WentzelOKandVIxSection.hh.

Constructor & Destructor Documentation

◆ G4WentzelOKandVIxSection() [1/2]

G4WentzelOKandVIxSection::G4WentzelOKandVIxSection ( G4bool combined = true)
explicit

Definition at line 77 of file G4WentzelOKandVIxSection.cc.

77 :
78 temp(0.,0.,0.),
79 isCombined(comb)
80{
83
87
88 G4double p0 = CLHEP::electron_mass_c2*CLHEP::classic_electr_radius;
89 coeff = CLHEP::twopi*p0*p0;
90 targetMass = CLHEP::proton_mass_c2;
91}
double G4double
Definition G4Types.hh:83
static G4Electron * Electron()
Definition G4Electron.cc:91
static G4NistManager * Instance()
static G4Positron * Positron()
Definition G4Positron.cc:90
static G4Pow * GetInstance()
Definition G4Pow.cc:41
static G4Proton * Proton()
Definition G4Proton.cc:90
const G4ParticleDefinition * theProton
const G4ParticleDefinition * thePositron
const G4ParticleDefinition * theElectron

◆ ~G4WentzelOKandVIxSection()

G4WentzelOKandVIxSection::~G4WentzelOKandVIxSection ( )
virtual

Definition at line 95 of file G4WentzelOKandVIxSection.cc.

96{
97 delete fMottXSection;
98}
G4ScreeningMottCrossSection * fMottXSection

◆ G4WentzelOKandVIxSection() [2/2]

G4WentzelOKandVIxSection::G4WentzelOKandVIxSection ( const G4WentzelOKandVIxSection & )
delete

Member Function Documentation

◆ ComputeElectronCrossSection()

G4double G4WentzelOKandVIxSection::ComputeElectronCrossSection ( G4double CosThetaMin,
G4double CosThetaMax )
inline

◆ ComputeMaxElectronScattering()

void G4WentzelOKandVIxSection::ComputeMaxElectronScattering ( G4double cut)
protected

Definition at line 392 of file G4WentzelOKandVIxSection.cc.

393{
394 if(mass > MeV) {
395 G4double ratio = electron_mass_c2/mass;
396 G4double tau = tkin/mass;
397 G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.)/
398 (1.0 + 2.0*ratio*(tau + 1.0) + ratio*ratio);
399 cosTetMaxElec = 1.0 - std::min(cutEnergy, tmax)*electron_mass_c2/mom2;
400 } else {
401
402 G4double tmax = (particle == theElectron) ? 0.5*tkin : tkin;
403 G4double t = std::min(cutEnergy, tmax);
404 G4double mom21 = t*(t + 2.0*electron_mass_c2);
405 G4double t1 = tkin - t;
406 //G4cout <<"tkin=" <<tkin<<" tmax= "<<tmax<<" t= "
407 //<<t<< " t1= "<<t1<<" cut= "<<ecut<<G4endl;
408 if(t1 > 0.0) {
409 G4double mom22 = t1*(t1 + 2.0*mass);
410 G4double ctm = (mom2 + mom22 - mom21)*0.5/sqrt(mom2*mom22);
411 if(ctm < 1.0) { cosTetMaxElec = ctm; }
412 if(particle == theElectron && cosTetMaxElec < 0.0) {
413 cosTetMaxElec = 0.0;
414 }
415 }
416 }
417}
const G4ParticleDefinition * particle

Referenced by SetupTarget().

◆ ComputeNuclearCrossSection()

◆ ComputeSecondTransportMoment()

G4double G4WentzelOKandVIxSection::ComputeSecondTransportMoment ( G4double CosThetaMax)

Definition at line 422 of file G4WentzelOKandVIxSection.cc.

423{
424 return 0.0;
425}

◆ ComputeTransportCrossSectionPerAtom()

G4double G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom ( G4double CosThetaMax)

Definition at line 242 of file G4WentzelOKandVIxSection.cc.

243{
244 G4double xSection = 0.0;
245 if(cosTMax >= 1.0) { return xSection; }
246
247 G4double costm = std::max(cosTMax,cosTetMaxElec);
249
250 // scattering off electrons
251 if(costm < 1.0) {
252 G4double x = (1.0 - costm)/screenZ;
253 if(x < numlimit) {
254 G4double x2 = 0.5*x*x;
255 xSection = x2*((1.0 - 1.3333333*x + 3*x2) - fb*x*(0.6666667 - x));
256 } else {
257 G4double x1= x/(1 + x);
258 G4double xlog = G4Log(1.0 + x);
259 xSection = xlog - x1 - fb*(x + x1 - 2*xlog);
260 }
261
262 if(xSection < 0.0) {
263 ++nwarnings;
264 if(nwarnings < nwarnlimit) {
265 G4cout << "G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom"
266 << " scattering on e- <0"
267 << G4endl;
268 G4cout << "cross= " << xSection
269 << " e(MeV)= " << tkin << " p(MeV/c)= " << sqrt(mom2)
270 << " Z= " << targetZ << " "
272 G4cout << " 1-costm= " << 1.0-costm << " screenZ= " << screenZ
273 << " x= " << x << G4endl;
274 }
275 xSection = 0.0;
276 }
277 }
278 /*
279 G4cout << "G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom: \n"
280 << " Z= " << targetZ
281 << " e(MeV)= " << tkin/MeV << " XSel= " << xSection
282 << " zmaxE= " << (1.0 - cosTetMaxElec)/screenZ
283 << " zmaxN= " << (1.0 - cosThetaMax)/screenZ
284 << " 1-costm= " << 1.0 - cosThetaMax << G4endl;
285 */
286 // scattering off nucleus
287 if(cosTMax < 1.0) {
288 G4double x = (1.0 - cosTMax)/screenZ;
289 G4double y;
290 if(x < numlimit) {
291 G4double x2 = 0.5*x*x;
292 y = x2*((1.0 - 1.3333333*x + 3*x2) - fb*x*(0.6666667 - x));
293 } else {
294 G4double x1= x/(1 + x);
295 G4double xlog = G4Log(1.0 + x);
296 y = xlog - x1 - fb*(x + x1 - 2*xlog);
297 }
298
299 if(y < 0.0) {
300 ++nwarnings;
301 if(nwarnings < nwarnlimit) {
302 G4cout << "G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom"
303 << " scattering on nucleus <0"
304 << G4endl;
305 G4cout << "y= " << y
306 << " e(MeV)= " << tkin << " Z= " << targetZ << " "
308 G4cout << " formfactA= " << formfactA << " screenZ= " << screenZ
309 << " x= " << x <<G4endl;
310 }
311 y = 0.0;
312 }
313 xSection += y*targetZ;
314 }
315 xSection *= kinFactor;
316
317 /*
318 G4cout << "Z= " << targetZ << " XStot= " << xSection/barn
319 << " screenZ= " << screenZ << " formF= " << formfactA
320 << " for " << particle->GetParticleName()
321 << " m= " << mass << " 1/v= " << sqrt(invbeta2)
322 << " p= " << sqrt(mom2)
323 << " x= " << x << G4endl;
324 */
325 return xSection;
326}
G4double G4Log(G4double x)
Definition G4Log.hh:227
const G4int nwarnlimit
const G4double numlimit
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
const G4String & GetParticleName() const

Referenced by G4WentzelVIModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), and G4WentzelVIModel::ComputeTransportXSectionPerVolume().

◆ FlatFormfactor()

G4double G4WentzelOKandVIxSection::FlatFormfactor ( G4double x)
inlineprotected

Definition at line 234 of file G4WentzelOKandVIxSection.hh.

235{
236 return 3.0*(std::sin(x) - x*std::cos(x))/(x*x*x);
237}

Referenced by SampleSingleScattering().

◆ GetCosThetaElec()

G4double G4WentzelOKandVIxSection::GetCosThetaElec ( ) const
inline

Definition at line 207 of file G4WentzelOKandVIxSection.hh.

208{
209 return cosTetMaxElec;
210}

◆ GetCosThetaNuc()

G4double G4WentzelOKandVIxSection::GetCosThetaNuc ( ) const
inline

Definition at line 200 of file G4WentzelOKandVIxSection.hh.

201{
202 return cosTetMaxNuc;
203}

◆ GetMomentumSquare()

G4double G4WentzelOKandVIxSection::GetMomentumSquare ( ) const
inline

Definition at line 193 of file G4WentzelOKandVIxSection.hh.

194{
195 return mom2;
196}

Referenced by G4eCoulombScatteringModel::SampleSecondaries().

◆ Initialise()

void G4WentzelOKandVIxSection::Initialise ( const G4ParticleDefinition * p,
G4double CosThetaLim )

Definition at line 102 of file G4WentzelOKandVIxSection.cc.

104{
105 SetupParticle(p);
106 tkin = mom2 = momCM2 = 0.0;
107 ecut = etag = DBL_MAX;
108 targetZ = 0;
109
110 // cosThetaMax is below 1.0 only when MSC is combined with SS
111 if(isCombined) { cosThetaMax = cosThetaLim; }
113 G4double a = param->FactorForAngleLimit()*CLHEP::hbarc/CLHEP::fermi;
114 factorA2 = 0.5*a*a;
115 currentMaterial = nullptr;
116
118 if(0.0 == ScreenRSquare[0]) { InitialiseA(); }
119
120 // Mott corrections always added
121 if((p == theElectron || p == thePositron) && !fMottXSection) {
123 fMottXSection->Initialise(p, 1.0);
124 }
125 /*
126 G4cout << "G4WentzelOKandVIxSection::Initialise for "
127 << p->GetParticleName() << " cosThetaMax= " << cosThetaMax
128 << " " << ScreenRSquare[0] << " coeff= " << coeff << G4endl;
129 */
130}
static G4EmParameters * Instance()
G4NuclearFormfactorType NuclearFormfactorType() const
G4double FactorForAngleLimit() const
void Initialise(const G4ParticleDefinition *, G4double cosThetaLim)
void SetupParticle(const G4ParticleDefinition *)
G4NuclearFormfactorType fNucFormfactor
#define DBL_MAX
Definition templates.hh:62

Referenced by G4eCoulombScatteringModel::Initialise(), G4hCoulombScatteringModel::Initialise(), and G4WentzelVIModel::Initialise().

◆ InitialiseA()

void G4WentzelOKandVIxSection::InitialiseA ( )
protected

Definition at line 134 of file G4WentzelOKandVIxSection.cc.

135{
136 // Thomas-Fermi screening radii
137 // Formfactors from A.V. Butkevich et al., NIM A 488 (2002) 282
138 if(0.0 != ScreenRSquare[0]) { return; }
139 G4AutoLock l(&theWOKVIMutex);
140 if(0.0 == ScreenRSquare[0]) {
141 const G4double invmev2 = 1./(CLHEP::MeV*CLHEP::MeV);
142 G4double a0 = CLHEP::electron_mass_c2/0.88534;
143 G4double constn = 6.937e-6*invmev2;
145
146 G4double afact = 0.5*fct*alpha2*a0*a0;
147 ScreenRSquare[0] = afact;
148 ScreenRSquare[1] = afact;
149 ScreenRSquareElec[1] = afact;
150 FormFactor[1] = 3.097e-6*invmev2;
151
152 for(G4int j=2; j<100; ++j) {
153 G4double x = fG4pow->Z13(j);
154 ScreenRSquare[j] = afact*(1 + G4Exp(-j*j*0.001))*x*x;
155 ScreenRSquareElec[j] = afact*x*x;
156 x = fNistManager->GetA27(j);
157 FormFactor[j] = constn*x*x;
158 }
159 }
160 l.unlock();
161}
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition G4Exp.hh:180
const G4double a0
int G4int
Definition G4Types.hh:85
const G4double alpha2
G4double ScreeningFactor() const
G4double GetA27(G4int Z) const
G4double Z13(G4int Z) const
Definition G4Pow.hh:123
static G4double ScreenRSquareElec[100]

Referenced by Initialise().

◆ operator=()

G4WentzelOKandVIxSection & G4WentzelOKandVIxSection::operator= ( const G4WentzelOKandVIxSection & right)
delete

◆ SampleSingleScattering()

G4ThreeVector & G4WentzelOKandVIxSection::SampleSingleScattering ( G4double CosThetaMin,
G4double CosThetaMax,
G4double elecRatio )

Definition at line 331 of file G4WentzelOKandVIxSection.cc.

334{
335 temp.set(0.0,0.0,1.0);
336 CLHEP::HepRandomEngine* rndmEngineMod = G4Random::getTheEngine();
337
338 G4double formf = formfactA;
339 G4double cost1 = cosTMin;
340 G4double cost2 = cosTMax;
341 if(elecRatio > 0.0) {
342 if(rndmEngineMod->flat() <= elecRatio) {
343 formf = 0.0;
344 cost1 = std::max(cost1,cosTetMaxElec);
345 cost2 = std::max(cost2,cosTetMaxElec);
346 }
347 }
348 if(cost1 > cost2) {
349 G4double w1 = 1. - cost1;
350 G4double w2 = 1. - cost2;
351 G4double w3 = rndmEngineMod->flat()*(w2 - w1);
352 G4double z1 = ((w2 - w3)*screenZ + w1*w2)/(screenZ + w1 + w3);
353 G4double fm = 1.0;
354
356 fm += formf*z1;
357 fm = 1.0/(fm*fm);
358 } else if(fNucFormfactor == fGaussianNF) {
359 fm = G4Exp(-2*formf*z1);
360 } else if(fNucFormfactor == fFlatNF) {
361 static const G4double ccoef = 0.00508/CLHEP::MeV;
362 G4double x = std::sqrt(2.*mom2*z1)*ccoef*2.;
363 fm = FlatFormfactor(x);
365 }
366 // G4cout << " fm=" << fm << " " << fMottXSection << G4endl;
367 G4double grej;
368 if(nullptr != fMottXSection) {
370 grej = fMottXSection->RatioMottRutherfordCosT(std::sqrt(z1))*fm*fm;
371 } else {
372 grej = (1. - z1*factB + factB1*targetZ*sqrt(z1*factB)*(2. - z1))
373 *fm*fm/(1.0 + z1*factD);
374 }
375 if(fMottFactor*rndmEngineMod->flat() <= grej ) {
376 // exclude "false" scattering due to formfactor and spin effect
377 G4double cost = 1.0 - z1;
378 if(cost > 1.0) { cost = 1.0; }
379 else if(cost < -1.0) { cost =-1.0; }
380 G4double sint = sqrt((1.0 - cost)*(1.0 + cost));
381 //G4cout << "sint= " << sint << G4endl;
382 G4double phi = twopi*rndmEngineMod->flat();
383 temp.set(sint*cos(phi),sint*sin(phi),cost);
384 }
385 }
386 return temp;
387}
const G4double factB1
void set(double x, double y, double z)
virtual double flat()=0
G4double GetAtomicMassAmu(const G4String &symb) const
G4double A13(G4double A) const
Definition G4Pow.cc:116
void SetupKinematic(G4double kinEnergy, G4int Z)
G4double RatioMottRutherfordCosT(G4double sin2t2)

Referenced by G4WentzelVIModel::SampleScattering(), G4eCoulombScatteringModel::SampleSecondaries(), and G4hCoulombScatteringModel::SampleSecondaries().

◆ SetTargetMass()

◆ SetupKinematic()

◆ SetupParticle()

void G4WentzelOKandVIxSection::SetupParticle ( const G4ParticleDefinition * p)

◆ SetupTarget()

G4double G4WentzelOKandVIxSection::SetupTarget ( G4int Z,
G4double cut )

Definition at line 200 of file G4WentzelOKandVIxSection.cc.

201{
202 G4double cosTetMaxNuc2 = cosTetMaxNuc;
203 if(Z != targetZ || tkin != etag) {
204 etag = tkin;
205 targetZ = std::min(Z, 99);
206 G4double massT = (1 == Z) ? CLHEP::proton_mass_c2 :
207 fNistManager->GetAtomicMassAmu(Z)*CLHEP::amu_c2;
208 SetTargetMass(massT);
209
212 fMottFactor = (1.0 + 2.0e-4*Z*Z);
213 }
214
215 if(1 == Z) {
217 } else if(mass > MeV) {
218 screenZ = std::min(Z*1.13,1.13 +3.76*Z*Z*invbeta2*alpha2*chargeSquare)*
220 } else {
221 G4double tau = tkin/mass;
222 screenZ = std::min(Z*1.13,(1.13 +3.76*Z*Z
223 *invbeta2*alpha2*std::sqrt(tau/(tau + fG4pow->Z23(targetZ)))))*
225 }
226 if(targetZ == 1 && particle == theProton && cosTetMaxNuc2 < 0.0) {
227 cosTetMaxNuc2 = 0.0;
228 }
230
231 cosTetMaxElec = 1.0;
233 }
234 //G4cout << "SetupTarget: Z= " << targetZ << " kinFactor= " << kinFactor
235 // << " fMottFactor= " << fMottFactor << " screenZ= " << screenZ <<G4endl;
236 return cosTetMaxNuc2;
237}
G4double Z23(G4int Z) const
Definition G4Pow.hh:125
void ComputeMaxElectronScattering(G4double cut)

Referenced by G4eCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), G4WentzelVIModel::ComputeTransportXSectionPerVolume(), G4WentzelVIModel::SampleScattering(), G4eCoulombScatteringModel::SampleSecondaries(), and G4hCoulombScatteringModel::SampleSecondaries().

Member Data Documentation

◆ charge3

G4double G4WentzelOKandVIxSection::charge3 = 0.0
protected

Definition at line 148 of file G4WentzelOKandVIxSection.hh.

Referenced by SetupParticle().

◆ chargeSquare

G4double G4WentzelOKandVIxSection::chargeSquare = 0.0
protected

Definition at line 147 of file G4WentzelOKandVIxSection.hh.

Referenced by SetupParticle(), and SetupTarget().

◆ coeff

G4double G4WentzelOKandVIxSection::coeff
protected

Definition at line 139 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

◆ cosTetMaxElec

◆ cosTetMaxNuc

G4double G4WentzelOKandVIxSection::cosTetMaxNuc = 1.0
protected

◆ cosThetaMax

G4double G4WentzelOKandVIxSection::cosThetaMax = 1.0
protected

◆ currentMaterial

const G4Material* G4WentzelOKandVIxSection::currentMaterial = nullptr
protected

◆ ecut

G4double G4WentzelOKandVIxSection::ecut = DBL_MAX
protected

Definition at line 157 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise().

◆ etag

G4double G4WentzelOKandVIxSection::etag = DBL_MAX
protected

Definition at line 156 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise(), and SetupTarget().

◆ factB

G4double G4WentzelOKandVIxSection::factB = 0.0
protected

◆ factD

G4double G4WentzelOKandVIxSection::factD = 0.0
protected

◆ factorA2

G4double G4WentzelOKandVIxSection::factorA2 = 0.0
protected

◆ fG4pow

G4Pow* G4WentzelOKandVIxSection::fG4pow
protected

◆ fMottFactor

G4double G4WentzelOKandVIxSection::fMottFactor = 1.0
protected

◆ fMottXSection

G4ScreeningMottCrossSection* G4WentzelOKandVIxSection::fMottXSection = nullptr
protected

◆ fNistManager

G4NistManager* G4WentzelOKandVIxSection::fNistManager
protected

◆ fNucFormfactor

G4NuclearFormfactorType G4WentzelOKandVIxSection::fNucFormfactor = fExponentialNF
protected

Definition at line 174 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise(), and SampleSingleScattering().

◆ formfactA

G4double G4WentzelOKandVIxSection::formfactA = 0.0
protected

◆ FormFactor

G4double G4WentzelOKandVIxSection::FormFactor = {0.0}
staticprotected

Definition at line 63 of file G4WentzelOKandVIxSection.hh.

Referenced by InitialiseA(), and SetupTarget().

◆ gam0pcmp

G4double G4WentzelOKandVIxSection::gam0pcmp = 1.0
protected

Definition at line 167 of file G4WentzelOKandVIxSection.hh.

◆ invbeta2

G4double G4WentzelOKandVIxSection::invbeta2 = 1.0
protected

◆ isCombined

G4bool G4WentzelOKandVIxSection::isCombined
protected

◆ kinFactor

G4double G4WentzelOKandVIxSection::kinFactor = 1.0
protected

◆ mass

G4double G4WentzelOKandVIxSection::mass = 0.0
protected

◆ mom2

◆ momCM2

G4double G4WentzelOKandVIxSection::momCM2 = 0.0
protected

Definition at line 153 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise().

◆ nwarnings

G4int G4WentzelOKandVIxSection::nwarnings = 0
protected

Definition at line 172 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

◆ particle

const G4ParticleDefinition* G4WentzelOKandVIxSection::particle = nullptr
protected

◆ pcmp2

G4double G4WentzelOKandVIxSection::pcmp2 = 1.0
protected

Definition at line 168 of file G4WentzelOKandVIxSection.hh.

◆ ScreenRSquare

G4double G4WentzelOKandVIxSection::ScreenRSquare = {0.0}
staticprotected

Definition at line 62 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise(), InitialiseA(), and SetupTarget().

◆ ScreenRSquareElec

G4double G4WentzelOKandVIxSection::ScreenRSquareElec = {0.0}
staticprotected

Definition at line 61 of file G4WentzelOKandVIxSection.hh.

Referenced by InitialiseA(), and SetupTarget().

◆ screenZ

◆ spin

G4double G4WentzelOKandVIxSection::spin = 0.0
protected

◆ targetMass

G4double G4WentzelOKandVIxSection::targetMass
protected

◆ targetZ

G4int G4WentzelOKandVIxSection::targetZ = 0
protected

◆ temp

G4ThreeVector G4WentzelOKandVIxSection::temp
protected

Definition at line 136 of file G4WentzelOKandVIxSection.hh.

Referenced by SampleSingleScattering().

◆ theElectron

const G4ParticleDefinition* G4WentzelOKandVIxSection::theElectron
protected

◆ thePositron

const G4ParticleDefinition* G4WentzelOKandVIxSection::thePositron
protected

Definition at line 127 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and Initialise().

◆ theProton

const G4ParticleDefinition* G4WentzelOKandVIxSection::theProton
protected

Definition at line 125 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

◆ tkin


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