Geant4 11.1.1
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 comb=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  comb = 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:93
static G4NistManager * Instance()
static G4Positron * Positron()
Definition: G4Positron.cc:93
static G4Pow * GetInstance()
Definition: G4Pow.cc:41
static G4Proton * Proton()
Definition: G4Proton.cc:92
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 394 of file G4WentzelOKandVIxSection.cc.

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

Referenced by SetupTarget().

◆ ComputeNuclearCrossSection()

◆ ComputeSecondTransportMoment()

G4double G4WentzelOKandVIxSection::ComputeSecondTransportMoment ( G4double  CosThetaMax)

Definition at line 424 of file G4WentzelOKandVIxSection.cc.

425{
426 return 0.0;
427}

◆ 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:57
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 231 of file G4WentzelOKandVIxSection.hh.

232{
233 return 3.0*(std::sin(x) - x*std::cos(x))/(x*x*x);
234}

Referenced by SampleSingleScattering().

◆ GetCosThetaElec()

G4double G4WentzelOKandVIxSection::GetCosThetaElec ( ) const
inline

Definition at line 204 of file G4WentzelOKandVIxSection.hh.

205{
206 return cosTetMaxElec;
207}

◆ GetCosThetaNuc()

G4double G4WentzelOKandVIxSection::GetCosThetaNuc ( ) const
inline

Definition at line 197 of file G4WentzelOKandVIxSection.hh.

198{
199 return cosTetMaxNuc;
200}

◆ GetMomentumSquare()

G4double G4WentzelOKandVIxSection::GetMomentumSquare ( ) const
inline

Definition at line 190 of file G4WentzelOKandVIxSection.hh.

191{
192 return mom2;
193}

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
350 G4double w1 = 1. - cost1 + screenZ;
351 G4double w2 = 1. - cost2 + screenZ;
352 G4double z1 = w1*w2/(w1 + rndmEngineMod->flat()*(w2 - w1)) - screenZ;
353
354 G4double fm = 1.0;
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/MeV;
362 G4double x = std::sqrt(2.*mom2*z1)*ccoef*2.;
363 fm = FlatFormfactor(x);
364 fm *= FlatFormfactor(x*0.6
366 }
367 G4double grej;
368 if(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 // G4cout << "SampleSingleScattering: E= " << tkin << " z1= "
376 // << z1 << " grej= "<< grej << " mottFact= "<< fMottFactor<< G4endl;
377 if(fMottFactor*rndmEngineMod->flat() <= grej ) {
378 // exclude "false" scattering due to formfactor and spin effect
379 G4double cost = 1.0 - z1;
380 if(cost > 1.0) { cost = 1.0; }
381 else if(cost < -1.0) { cost =-1.0; }
382 G4double sint = sqrt((1.0 - cost)*(1.0 + cost));
383 //G4cout << "sint= " << sint << G4endl;
384 G4double phi = twopi*rndmEngineMod->flat();
385 temp.set(sint*cos(phi),sint*sin(phi),cost);
386 }
387 }
388 return temp;
389}
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}
const G4int Z[17]
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 145 of file G4WentzelOKandVIxSection.hh.

Referenced by SetupParticle().

◆ chargeSquare

G4double G4WentzelOKandVIxSection::chargeSquare = 0.0
protected

Definition at line 144 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 154 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise().

◆ etag

G4double G4WentzelOKandVIxSection::etag = DBL_MAX
protected

Definition at line 153 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 171 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 177 of file G4WentzelOKandVIxSection.hh.

Referenced by InitialiseA(), and SetupTarget().

◆ gam0pcmp

G4double G4WentzelOKandVIxSection::gam0pcmp = 1.0
protected

Definition at line 164 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 150 of file G4WentzelOKandVIxSection.hh.

Referenced by Initialise().

◆ nwarnings

G4int G4WentzelOKandVIxSection::nwarnings = 0
protected

Definition at line 169 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

◆ particle

const G4ParticleDefinition* G4WentzelOKandVIxSection::particle = nullptr
protected

◆ pcmp2

G4double G4WentzelOKandVIxSection::pcmp2 = 1.0
protected

Definition at line 165 of file G4WentzelOKandVIxSection.hh.

◆ ScreenRSquare

G4double G4WentzelOKandVIxSection::ScreenRSquare = {0.0}
staticprotected

Definition at line 176 of file G4WentzelOKandVIxSection.hh.

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

◆ ScreenRSquareElec

G4double G4WentzelOKandVIxSection::ScreenRSquareElec = {0.0}
staticprotected

Definition at line 175 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: