Geant4 10.7.0
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 *)
 
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 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

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

Detailed Description

Definition at line 73 of file G4WentzelOKandVIxSection.hh.

Constructor & Destructor Documentation

◆ G4WentzelOKandVIxSection() [1/2]

G4WentzelOKandVIxSection::G4WentzelOKandVIxSection ( G4bool  comb = true)
explicit

Definition at line 70 of file G4WentzelOKandVIxSection.cc.

70 :
71 temp(0.,0.,0.),
72 numlimit(0.1),
73 nwarnings(0),
74 nwarnlimit(50),
75 isCombined(comb),
76 cosThetaMax(-1.0),
77 alpha2(fine_structure_const*fine_structure_const)
78{
81 fMottXSection = nullptr;
82
86
87 lowEnergyLimit = 1.0*eV;
88 G4double p0 = electron_mass_c2*classic_electr_radius;
89 coeff = twopi*p0*p0;
90 particle = nullptr;
91
93
94 currentMaterial = nullptr;
95 factB = factD = formfactA = screenZ = 0.0;
97 = gam0pcmp = pcmp2 = 1.0;
98
99 factB1= 0.5*CLHEP::pi*fine_structure_const;
100
101 tkin = mom2 = momCM2 = factorA2 = mass = spin = chargeSquare = charge3 = 0.0;
102 ecut = etag = DBL_MAX;
103 targetZ = 0;
104 targetMass = CLHEP::proton_mass_c2;
105}
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 * particle
G4ScreeningMottCrossSection * fMottXSection
G4NuclearFormfactorType fNucFormfactor
const G4ParticleDefinition * theElectron
#define DBL_MAX
Definition: templates.hh:62

◆ ~G4WentzelOKandVIxSection()

G4WentzelOKandVIxSection::~G4WentzelOKandVIxSection ( )
virtual

Definition at line 109 of file G4WentzelOKandVIxSection.cc.

110{
111 delete fMottXSection;
112}

◆ 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 415 of file G4WentzelOKandVIxSection.cc.

416{
417 if(mass > MeV) {
418 G4double ratio = electron_mass_c2/mass;
419 G4double tau = tkin/mass;
420 G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.)/
421 (1.0 + 2.0*ratio*(tau + 1.0) + ratio*ratio);
422 cosTetMaxElec = 1.0 - std::min(cutEnergy, tmax)*electron_mass_c2/mom2;
423 } else {
424
425 G4double tmax = (particle == theElectron) ? 0.5*tkin : tkin;
426 G4double t = std::min(cutEnergy, tmax);
427 G4double mom21 = t*(t + 2.0*electron_mass_c2);
428 G4double t1 = tkin - t;
429 //G4cout <<"tkin=" <<tkin<<" tmax= "<<tmax<<" t= "
430 //<<t<< " t1= "<<t1<<" cut= "<<ecut<<G4endl;
431 if(t1 > 0.0) {
432 G4double mom22 = t1*(t1 + 2.0*mass);
433 G4double ctm = (mom2 + mom22 - mom21)*0.5/sqrt(mom2*mom22);
434 if(ctm < 1.0) { cosTetMaxElec = ctm; }
435 if(particle == theElectron && cosTetMaxElec < 0.0) {
436 cosTetMaxElec = 0.0;
437 }
438 }
439 }
440}

Referenced by SetupTarget().

◆ ComputeNuclearCrossSection()

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

◆ ComputeSecondTransportMoment()

G4double G4WentzelOKandVIxSection::ComputeSecondTransportMoment ( G4double  CosThetaMax)

Definition at line 445 of file G4WentzelOKandVIxSection.cc.

446{
447 return 0.0;
448}

◆ ComputeTransportCrossSectionPerAtom()

G4double G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom ( G4double  CosThetaMax)

Definition at line 263 of file G4WentzelOKandVIxSection.cc.

264{
265 G4double xSection = 0.0;
266 if(cosTMax >= 1.0) { return xSection; }
267
268 G4double costm = std::max(cosTMax,cosTetMaxElec);
270
271 // scattering off electrons
272 if(costm < 1.0) {
273 G4double x = (1.0 - costm)/screenZ;
274 if(x < numlimit) {
275 G4double x2 = 0.5*x*x;
276 xSection = x2*((1.0 - 1.3333333*x + 3*x2) - fb*x*(0.6666667 - x));
277 } else {
278 G4double x1= x/(1 + x);
279 G4double xlog = G4Log(1.0 + x);
280 xSection = xlog - x1 - fb*(x + x1 - 2*xlog);
281 }
282
283 if(xSection < 0.0) {
284 ++nwarnings;
285 if(nwarnings < nwarnlimit) {
286 G4cout << "G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom"
287 << " scattering on e- <0"
288 << G4endl;
289 G4cout << "cross= " << xSection
290 << " e(MeV)= " << tkin << " p(MeV/c)= " << sqrt(mom2)
291 << " Z= " << targetZ << " "
293 G4cout << " 1-costm= " << 1.0-costm << " screenZ= " << screenZ
294 << " x= " << x << G4endl;
295 }
296 xSection = 0.0;
297 }
298 }
299 /*
300 G4cout << "G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom: \n"
301 << " Z= " << targetZ
302 << " e(MeV)= " << tkin/MeV << " XSel= " << xSection
303 << " zmaxE= " << (1.0 - cosTetMaxElec)/screenZ
304 << " zmaxN= " << (1.0 - cosThetaMax)/screenZ
305 << " 1-costm= " << 1.0 - cosThetaMax << G4endl;
306 */
307 // scattering off nucleus
308 if(cosTMax < 1.0) {
309 G4double x = (1.0 - cosTMax)/screenZ;
310 G4double y;
311 if(x < numlimit) {
312 G4double x2 = 0.5*x*x;
313 y = x2*((1.0 - 1.3333333*x + 3*x2) - fb*x*(0.6666667 - x));
314 } else {
315 G4double x1= x/(1 + x);
316 G4double xlog = G4Log(1.0 + x);
317 y = xlog - x1 - fb*(x + x1 - 2*xlog);
318 }
319
320 if(y < 0.0) {
321 ++nwarnings;
322 if(nwarnings < nwarnlimit) {
323 G4cout << "G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom"
324 << " scattering on nucleus <0"
325 << G4endl;
326 G4cout << "y= " << y
327 << " e(MeV)= " << tkin << " Z= " << targetZ << " "
329 G4cout << " formfactA= " << formfactA << " screenZ= " << screenZ
330 << " x= " << x <<G4endl;
331 }
332 y = 0.0;
333 }
334 xSection += y*targetZ;
335 }
336 xSection *= kinFactor;
337
338 /*
339 G4cout << "Z= " << targetZ << " XStot= " << xSection/barn
340 << " screenZ= " << screenZ << " formF= " << formfactA
341 << " for " << particle->GetParticleName()
342 << " m= " << mass << " 1/v= " << sqrt(invbeta2)
343 << " p= " << sqrt(mom2)
344 << " x= " << x << G4endl;
345 */
346 return xSection;
347}
G4double G4Log(G4double x)
Definition: G4Log.hh:226
#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 245 of file G4WentzelOKandVIxSection.hh.

246{
247 return 3.0*(std::sin(x) - x*std::cos(x))/(x*x*x);
248}

Referenced by SampleSingleScattering().

◆ GetCosThetaElec()

G4double G4WentzelOKandVIxSection::GetCosThetaElec ( ) const
inline

Definition at line 218 of file G4WentzelOKandVIxSection.hh.

219{
220 return cosTetMaxElec;
221}

◆ GetCosThetaNuc()

G4double G4WentzelOKandVIxSection::GetCosThetaNuc ( ) const
inline

Definition at line 211 of file G4WentzelOKandVIxSection.hh.

212{
213 return cosTetMaxNuc;
214}

◆ GetMomentumSquare()

G4double G4WentzelOKandVIxSection::GetMomentumSquare ( ) const
inline

Definition at line 204 of file G4WentzelOKandVIxSection.hh.

205{
206 return mom2;
207}

Referenced by G4eCoulombScatteringModel::SampleSecondaries().

◆ Initialise()

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

Definition at line 116 of file G4WentzelOKandVIxSection.cc.

118{
119 SetupParticle(p);
120 tkin = mom2 = momCM2 = 0.0;
121 ecut = etag = DBL_MAX;
122 targetZ = 0;
123
124 // cosThetaMax is below 1.0 only when MSC is combined with SS
125 if(isCombined) { cosThetaMax = cosThetaLim; }
127 G4double a = param->FactorForAngleLimit()*CLHEP::hbarc/CLHEP::fermi;
128 factorA2 = 0.5*a*a;
129 currentMaterial = nullptr;
130
132 if(0.0 == ScreenRSquare[0]) { InitialiseA(); }
133
134 // Mott corrections always added
135 if((p == theElectron || p == thePositron) && !fMottXSection) {
137 fMottXSection->Initialise(p, 1.0);
138 }
139 /*
140 G4cout << "G4WentzelOKandVIxSection::Initialise for "
141 << p->GetParticleName() << " cosThetaMax= " << cosThetaMax
142 << " " << ScreenRSquare[0] << " coeff= " << coeff << G4endl;
143 */
144}
static G4EmParameters * Instance()
G4NuclearFormfactorType NuclearFormfactorType() const
G4double FactorForAngleLimit() const
void Initialise(const G4ParticleDefinition *, G4double cosThetaLim)
void SetupParticle(const G4ParticleDefinition *)

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

◆ InitialiseA()

void G4WentzelOKandVIxSection::InitialiseA ( )
protected

Definition at line 148 of file G4WentzelOKandVIxSection.cc.

149{
150 // Thomas-Fermi screening radii
151 // Formfactors from A.V. Butkevich et al., NIM A 488 (2002) 282
152#ifdef G4MULTITHREADED
153 G4MUTEXLOCK(&G4WentzelOKandVIxSection::WentzelOKandVIxSectionMutex);
154 if(0.0 == ScreenRSquare[0]) {
155#endif
156 G4double a0 = electron_mass_c2/0.88534;
157 G4double constn = 6.937e-6/(MeV*MeV);
159
160 G4double afact = 0.5*fct*alpha2*a0*a0;
161 ScreenRSquare[0] = afact;
162 ScreenRSquare[1] = afact;
163 ScreenRSquareElec[1] = afact;
164 FormFactor[1] = 3.097e-6/(MeV*MeV);
165
166 for(G4int j=2; j<100; ++j) {
167 G4double x = fG4pow->Z13(j);
168 ScreenRSquare[j] = afact*(1 + G4Exp(-j*j*0.001))*x*x;
169 ScreenRSquareElec[j] = afact*x*x;
170 x = fNistManager->GetA27(j);
171 FormFactor[j] = constn*x*x;
172 }
173#ifdef G4MULTITHREADED
174 }
175 G4MUTEXUNLOCK(&G4WentzelOKandVIxSection::WentzelOKandVIxSectionMutex);
176#endif
177
178 //G4cout << "G4WentzelOKandVIxSection::Initialise mass= " << mass
179 // << " " << p->GetParticleName()
180 // << " cosThetaMax= " << cosThetaMax << G4endl;
181
182}
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition: G4Exp.hh:179
const G4double a0
#define G4MUTEXLOCK(mutex)
Definition: G4Threading.hh:251
#define G4MUTEXUNLOCK(mutex)
Definition: G4Threading.hh:254
int G4int
Definition: G4Types.hh:85
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 352 of file G4WentzelOKandVIxSection.cc.

355{
356 temp.set(0.0,0.0,1.0);
357 CLHEP::HepRandomEngine* rndmEngineMod = G4Random::getTheEngine();
358
359 G4double formf = formfactA;
360 G4double cost1 = cosTMin;
361 G4double cost2 = cosTMax;
362 if(elecRatio > 0.0) {
363 if(rndmEngineMod->flat() <= elecRatio) {
364 formf = 0.0;
365 cost1 = std::max(cost1,cosTetMaxElec);
366 cost2 = std::max(cost2,cosTetMaxElec);
367 }
368 }
369 if(cost1 > cost2) {
370
371 G4double w1 = 1. - cost1 + screenZ;
372 G4double w2 = 1. - cost2 + screenZ;
373 G4double z1 = w1*w2/(w1 + rndmEngineMod->flat()*(w2 - w1)) - screenZ;
374
375 G4double fm = 1.0;
377 fm += formf*z1;
378 fm = 1.0/(fm*fm);
379 } else if(fNucFormfactor == fGaussianNF) {
380 fm = G4Exp(-2*formf*z1);
381 } else if(fNucFormfactor == fFlatNF) {
382 static const G4double ccoef = 0.00508/MeV;
383 G4double x = std::sqrt(2.*mom2*z1)*ccoef*2.;
384 fm = FlatFormfactor(x);
385 fm *= FlatFormfactor(x*0.6
387 }
388 G4double grej;
389 if(fMottXSection) {
391 grej = fMottXSection->RatioMottRutherfordCosT(std::sqrt(z1))*fm*fm;
392 } else {
393 grej = (1. - z1*factB + factB1*targetZ*sqrt(z1*factB)*(2. - z1))
394 *fm*fm/(1.0 + z1*factD);
395 }
396 // G4cout << "SampleSingleScattering: E= " << tkin << " z1= "
397 // << z1 << " grej= "<< grej << " mottFact= "<< fMottFactor<< G4endl;
398 if(fMottFactor*rndmEngineMod->flat() <= grej ) {
399 // exclude "false" scattering due to formfactor and spin effect
400 G4double cost = 1.0 - z1;
401 if(cost > 1.0) { cost = 1.0; }
402 else if(cost < -1.0) { cost =-1.0; }
403 G4double sint = sqrt((1.0 - cost)*(1.0 + cost));
404 //G4cout << "sint= " << sint << G4endl;
405 G4double phi = twopi*rndmEngineMod->flat();
406 temp.set(sint*cos(phi),sint*sin(phi),cost);
407 }
408 }
409 return temp;
410}
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:120
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)

Definition at line 186 of file G4WentzelOKandVIxSection.cc.

187{
188 particle = p;
191 if(0.0 != spin) { spin = 0.5; }
192 G4double q = std::abs(particle->GetPDGCharge()/eplus);
193 chargeSquare = q*q;
195 tkin = 0.0;
196 currentMaterial = nullptr;
197 targetZ = 0;
198}
G4double GetPDGCharge() const

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

◆ SetupTarget()

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

Definition at line 221 of file G4WentzelOKandVIxSection.cc.

222{
223 G4double cosTetMaxNuc2 = cosTetMaxNuc;
224 if(Z != targetZ || tkin != etag) {
225 etag = tkin;
226 targetZ = std::min(Z, 99);
227 G4double massT = (1 == Z) ? CLHEP::proton_mass_c2 :
228 fNistManager->GetAtomicMassAmu(Z)*CLHEP::amu_c2;
229 SetTargetMass(massT);
230
233 fMottFactor = (1.0 + 2.0e-4*Z*Z);
234 }
235
236 if(1 == Z) {
238 } else if(mass > MeV) {
239 screenZ = std::min(Z*1.13,1.13 +3.76*Z*Z*invbeta2*alpha2*chargeSquare)*
241 } else {
242 G4double tau = tkin/mass;
243 screenZ = std::min(Z*1.13,(1.13 +3.76*Z*Z
244 *invbeta2*alpha2*std::sqrt(tau/(tau + fG4pow->Z23(targetZ)))))*
246 }
247 if(targetZ == 1 && particle == theProton && cosTetMaxNuc2 < 0.0) {
248 cosTetMaxNuc2 = 0.0;
249 }
251
252 cosTetMaxElec = 1.0;
254 }
255 //G4cout << "SetupTarget: Z= " << targetZ << " kinFactor= " << kinFactor
256 // << " fMottFactor= " << fMottFactor << " screenZ= " << screenZ <<G4endl;
257 return cosTetMaxNuc2;
258}
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

◆ alpha2

G4double G4WentzelOKandVIxSection::alpha2
protected

Definition at line 153 of file G4WentzelOKandVIxSection.hh.

Referenced by InitialiseA(), and SetupTarget().

◆ charge3

G4double G4WentzelOKandVIxSection::charge3
protected

Definition at line 159 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupParticle().

◆ chargeSquare

G4double G4WentzelOKandVIxSection::chargeSquare
protected

◆ coeff

G4double G4WentzelOKandVIxSection::coeff
protected

Definition at line 149 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

◆ cosTetMaxElec

◆ cosTetMaxNuc

G4double G4WentzelOKandVIxSection::cosTetMaxNuc
protected

◆ cosThetaMax

G4double G4WentzelOKandVIxSection::cosThetaMax
protected

◆ currentMaterial

const G4Material* G4WentzelOKandVIxSection::currentMaterial
protected

◆ ecut

G4double G4WentzelOKandVIxSection::ecut
protected

Definition at line 168 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and Initialise().

◆ etag

G4double G4WentzelOKandVIxSection::etag
protected

Definition at line 167 of file G4WentzelOKandVIxSection.hh.

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

◆ factB

◆ factB1

G4double G4WentzelOKandVIxSection::factB1
protected

◆ factD

G4double G4WentzelOKandVIxSection::factD
protected

◆ factorA2

G4double G4WentzelOKandVIxSection::factorA2
protected

◆ fG4pow

G4Pow* G4WentzelOKandVIxSection::fG4pow
protected

◆ fMottFactor

G4double G4WentzelOKandVIxSection::fMottFactor
protected

◆ fMottXSection

G4ScreeningMottCrossSection* G4WentzelOKandVIxSection::fMottXSection
protected

◆ fNistManager

G4NistManager* G4WentzelOKandVIxSection::fNistManager
protected

◆ fNucFormfactor

G4NuclearFormfactorType G4WentzelOKandVIxSection::fNucFormfactor
protected

◆ formfactA

G4double G4WentzelOKandVIxSection::formfactA
protected

◆ FormFactor

G4double G4WentzelOKandVIxSection::FormFactor = {0.0}
staticprotected

Definition at line 186 of file G4WentzelOKandVIxSection.hh.

Referenced by InitialiseA(), and SetupTarget().

◆ gam0pcmp

G4double G4WentzelOKandVIxSection::gam0pcmp
protected

Definition at line 181 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

◆ invbeta2

G4double G4WentzelOKandVIxSection::invbeta2
protected

◆ isCombined

G4bool G4WentzelOKandVIxSection::isCombined
protected

◆ kinFactor

◆ lowEnergyLimit

G4double G4WentzelOKandVIxSection::lowEnergyLimit
protected

Definition at line 169 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

◆ mass

◆ mom2

◆ momCM2

G4double G4WentzelOKandVIxSection::momCM2
protected

Definition at line 164 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and Initialise().

◆ numlimit

G4double G4WentzelOKandVIxSection::numlimit
protected

Definition at line 138 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

◆ nwarnings

G4int G4WentzelOKandVIxSection::nwarnings
protected

Definition at line 141 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

◆ nwarnlimit

G4int G4WentzelOKandVIxSection::nwarnlimit
protected

Definition at line 142 of file G4WentzelOKandVIxSection.hh.

Referenced by ComputeTransportCrossSectionPerAtom().

◆ particle

◆ pcmp2

G4double G4WentzelOKandVIxSection::pcmp2
protected

Definition at line 182 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection().

◆ ScreenRSquare

G4double G4WentzelOKandVIxSection::ScreenRSquare = {0.0}
staticprotected

Definition at line 185 of file G4WentzelOKandVIxSection.hh.

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

◆ ScreenRSquareElec

G4double G4WentzelOKandVIxSection::ScreenRSquareElec = {0.0}
staticprotected

Definition at line 184 of file G4WentzelOKandVIxSection.hh.

Referenced by InitialiseA(), and SetupTarget().

◆ screenZ

◆ spin

G4double G4WentzelOKandVIxSection::spin
protected

◆ targetMass

G4double G4WentzelOKandVIxSection::targetMass
protected

◆ targetZ

◆ 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 128 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and Initialise().

◆ theProton

const G4ParticleDefinition* G4WentzelOKandVIxSection::theProton
protected

Definition at line 126 of file G4WentzelOKandVIxSection.hh.

Referenced by G4WentzelOKandVIxSection(), and SetupTarget().

◆ tkin


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