#include <G4MuPairProductionModel.hh>
Inheritance diagram for G4MuPairProductionModel:
Definition at line 71 of file G4MuPairProductionModel.hh.
G4MuPairProductionModel::G4MuPairProductionModel | ( | const G4ParticleDefinition * | p = 0 , |
|
const G4String & | nam = "muPairProd" | |||
) |
Definition at line 104 of file G4MuPairProductionModel.cc.
References G4Electron::Electron(), G4NistManager::Instance(), lnZ, nist, particleMass, G4Positron::Positron(), G4VEmModel::SetLowEnergyLimit(), SetParticle(), z13, and z23.
00106 : G4VEmModel(nam), 00107 particle(0), 00108 factorForCross(4.*fine_structure_const*fine_structure_const 00109 *classic_electr_radius*classic_electr_radius/(3.*pi)), 00110 sqrte(sqrt(exp(1.))), 00111 currentZ(0), 00112 fParticleChange(0), 00113 minPairEnergy(4.*electron_mass_c2), 00114 lowestKinEnergy(GeV), 00115 nzdat(5), 00116 ntdat(8), 00117 nbiny(1000), 00118 nmaxElements(0), 00119 ymin(-5.), 00120 ymax(0.), 00121 dy((ymax-ymin)/nbiny), 00122 samplingTablesAreFilled(false) 00123 { 00124 SetLowEnergyLimit(minPairEnergy); 00125 nist = G4NistManager::Instance(); 00126 00127 theElectron = G4Electron::Electron(); 00128 thePositron = G4Positron::Positron(); 00129 00130 particleMass = lnZ = z13 = z23 = 0; 00131 00132 for(size_t i=0; i<1001; ++i) { ya[i] = 0.0; } 00133 00134 if(p) { SetParticle(p); } 00135 }
G4MuPairProductionModel::~G4MuPairProductionModel | ( | ) | [virtual] |
G4double G4MuPairProductionModel::ComputeCrossSectionPerAtom | ( | const G4ParticleDefinition * | , | |
G4double | kineticEnergy, | |||
G4double | Z, | |||
G4double | A, | |||
G4double | cutEnergy, | |||
G4double | maxEnergy | |||
) | [virtual] |
Reimplemented from G4VEmModel.
Definition at line 386 of file G4MuPairProductionModel.cc.
References ComputeMicroscopicCrossSection(), MaxSecondaryEnergy(), particle, and SetCurrentElement().
00392 { 00393 G4double cross = 0.0; 00394 if (kineticEnergy <= lowestKinEnergy) { return cross; } 00395 00396 SetCurrentElement(Z); 00397 00398 G4double maxPairEnergy = MaxSecondaryEnergy(particle,kineticEnergy); 00399 G4double tmax = std::min(maxEnergy, maxPairEnergy); 00400 G4double cut = std::max(cutEnergy, minPairEnergy); 00401 if (cut >= tmax) return cross; 00402 00403 cross = ComputeMicroscopicCrossSection (kineticEnergy, Z, cut); 00404 if(tmax < kineticEnergy) { 00405 cross -= ComputeMicroscopicCrossSection(kineticEnergy, Z, tmax); 00406 } 00407 return cross; 00408 }
G4double G4MuPairProductionModel::ComputeDEDXPerVolume | ( | const G4Material * | , | |
const G4ParticleDefinition * | , | |||
G4double | kineticEnergy, | |||
G4double | cutEnergy | |||
) | [virtual] |
Reimplemented from G4VEmModel.
Definition at line 173 of file G4MuPairProductionModel.cc.
References ComputMuPairLoss(), G4Material::GetAtomicNumDensityVector(), G4Material::GetElementVector(), G4Material::GetNumberOfElements(), MaxSecondaryEnergy(), particle, and SetCurrentElement().
00178 { 00179 G4double dedx = 0.0; 00180 if (cutEnergy <= minPairEnergy || kineticEnergy <= lowestKinEnergy) 00181 { return dedx; } 00182 00183 const G4ElementVector* theElementVector = material->GetElementVector(); 00184 const G4double* theAtomicNumDensityVector = 00185 material->GetAtomicNumDensityVector(); 00186 00187 // loop for elements in the material 00188 for (size_t i=0; i<material->GetNumberOfElements(); ++i) { 00189 G4double Z = (*theElementVector)[i]->GetZ(); 00190 SetCurrentElement(Z); 00191 G4double tmax = MaxSecondaryEnergy(particle, kineticEnergy); 00192 G4double loss = ComputMuPairLoss(Z, kineticEnergy, cutEnergy, tmax); 00193 dedx += loss*theAtomicNumDensityVector[i]; 00194 } 00195 if (dedx < 0.) { dedx = 0.; } 00196 return dedx; 00197 }
G4double G4MuPairProductionModel::ComputeDMicroscopicCrossSection | ( | G4double | tkin, | |
G4double | Z, | |||
G4double | pairEnergy | |||
) | [protected, virtual] |
Reimplemented in G4hPairProductionModel.
Definition at line 275 of file G4MuPairProductionModel.cc.
References factorForCross, fe, particleMass, SetCurrentElement(), sqrte, wgi, xgi, G4InuclParticleNames::xi0, z13, and z23.
Referenced by ComputeMicroscopicCrossSection(), and ComputMuPairLoss().
00282 { 00283 G4double bbbtf= 183. ; 00284 G4double bbbh = 202.4 ; 00285 G4double g1tf = 1.95e-5 ; 00286 G4double g2tf = 5.3e-5 ; 00287 G4double g1h = 4.4e-5 ; 00288 G4double g2h = 4.8e-5 ; 00289 00290 G4double totalEnergy = tkin + particleMass; 00291 G4double residEnergy = totalEnergy - pairEnergy; 00292 G4double massratio = particleMass/electron_mass_c2 ; 00293 G4double massratio2 = massratio*massratio ; 00294 G4double cross = 0.; 00295 00296 SetCurrentElement(Z); 00297 00298 G4double c3 = 0.75*sqrte*particleMass; 00299 if (residEnergy <= c3*z13) { return cross; } 00300 00301 G4double c7 = 4.*electron_mass_c2; 00302 G4double c8 = 6.*particleMass*particleMass; 00303 G4double alf = c7/pairEnergy; 00304 G4double a3 = 1. - alf; 00305 if (a3 <= 0.) { return cross; } 00306 00307 // zeta calculation 00308 G4double bbb,g1,g2; 00309 if( Z < 1.5 ) { bbb = bbbh ; g1 = g1h ; g2 = g2h ; } 00310 else { bbb = bbbtf; g1 = g1tf; g2 = g2tf; } 00311 00312 G4double zeta = 0; 00313 G4double zeta1 = 0.073*log(totalEnergy/(particleMass+g1*z23*totalEnergy))-0.26; 00314 if ( zeta1 > 0.) 00315 { 00316 G4double zeta2 = 0.058*log(totalEnergy/(particleMass+g2*z13*totalEnergy))-0.14; 00317 zeta = zeta1/zeta2 ; 00318 } 00319 00320 G4double z2 = Z*(Z+zeta); 00321 G4double screen0 = 2.*electron_mass_c2*sqrte*bbb/(z13*pairEnergy); 00322 G4double a0 = totalEnergy*residEnergy; 00323 G4double a1 = pairEnergy*pairEnergy/a0; 00324 G4double bet = 0.5*a1; 00325 G4double xi0 = 0.25*massratio2*a1; 00326 G4double del = c8/a0; 00327 00328 G4double rta3 = sqrt(a3); 00329 G4double tmnexp = alf/(1. + rta3) + del*rta3; 00330 if(tmnexp >= 1.0) return cross; 00331 00332 G4double tmn = log(tmnexp); 00333 G4double sum = 0.; 00334 00335 // Gaussian integration in ln(1-ro) ( with 8 points) 00336 for (G4int i=0; i<8; ++i) 00337 { 00338 G4double a4 = exp(tmn*xgi[i]); // a4 = (1.-asymmetry) 00339 G4double a5 = a4*(2.-a4) ; 00340 G4double a6 = 1.-a5 ; 00341 G4double a7 = 1.+a6 ; 00342 G4double a9 = 3.+a6 ; 00343 G4double xi = xi0*a5 ; 00344 G4double xii = 1./xi ; 00345 G4double xi1 = 1.+xi ; 00346 G4double screen = screen0*xi1/a5 ; 00347 G4double yeu = 5.-a6+4.*bet*a7 ; 00348 G4double yed = 2.*(1.+3.*bet)*log(3.+xii)-a6-a1*(2.-a6) ; 00349 G4double ye1 = 1.+yeu/yed ; 00350 G4double ale=log(bbb/z13*sqrt(xi1*ye1)/(1.+screen*ye1)) ; 00351 G4double cre = 0.5*log(1.+2.25*z23*xi1*ye1/massratio2) ; 00352 G4double be; 00353 00354 if (xi <= 1.e3) be = ((2.+a6)*(1.+bet)+xi*a9)*log(1.+xii)+(a5-bet)/xi1-a9; 00355 else be = (3.-a6+a1*a7)/(2.*xi); 00356 00357 G4double fe = (ale-cre)*be; 00358 if ( fe < 0.) fe = 0. ; 00359 00360 G4double ymu = 4.+a6 +3.*bet*a7 ; 00361 G4double ymd = a7*(1.5+a1)*log(3.+xi)+1.-1.5*a6 ; 00362 G4double ym1 = 1.+ymu/ymd ; 00363 G4double alm_crm = log(bbb*massratio/(1.5*z23*(1.+screen*ym1))); 00364 G4double a10,bm; 00365 if ( xi >= 1.e-3) 00366 { 00367 a10 = (1.+a1)*a5 ; 00368 bm = (a7*(1.+1.5*bet)-a10*xii)*log(xi1)+xi*(a5-bet)/xi1+a10; 00369 } else { 00370 bm = (5.-a6+bet*a9)*(xi/2.); 00371 } 00372 00373 G4double fm = alm_crm*bm; 00374 if ( fm < 0.) fm = 0. ; 00375 00376 sum += wgi[i]*a4*(fe+fm/massratio2); 00377 } 00378 00379 cross = -tmn*sum*factorForCross*z2*residEnergy/(totalEnergy*pairEnergy); 00380 00381 return cross; 00382 }
G4double G4MuPairProductionModel::ComputeMicroscopicCrossSection | ( | G4double | tkin, | |
G4double | Z, | |||
G4double | cut | |||
) | [protected] |
Definition at line 241 of file G4MuPairProductionModel.cc.
References ComputeDMicroscopicCrossSection(), MaxSecondaryEnergy(), particle, SetCurrentElement(), wgi, and xgi.
Referenced by ComputeCrossSectionPerAtom().
00245 { 00246 G4double cross = 0.; 00247 SetCurrentElement(Z); 00248 G4double tmax = MaxSecondaryEnergy(particle, tkin); 00249 if (tmax <= cut) { return cross; } 00250 00251 G4double ak1=6.9 ; 00252 G4double ak2=1.0 ; 00253 G4double aaa = log(cut); 00254 G4double bbb = log(tmax); 00255 G4int kkk = (G4int)((bbb-aaa)/ak1 + ak2); 00256 if(kkk > 8) { kkk = 8; } 00257 G4double hhh = (bbb-aaa)/G4double(kkk); 00258 G4double x = aaa; 00259 00260 for(G4int l=0; l<kkk; ++l) 00261 { 00262 for(G4int i=0; i<8; ++i) 00263 { 00264 G4double ep = exp(x + xgi[i]*hhh); 00265 cross += ep*wgi[i]*ComputeDMicroscopicCrossSection(tkin, Z, ep); 00266 } 00267 x += hhh; 00268 } 00269 00270 cross *= hhh; 00271 if(cross < 0.0) { cross = 0.0; } 00272 return cross; 00273 }
G4double G4MuPairProductionModel::ComputMuPairLoss | ( | G4double | Z, | |
G4double | tkin, | |||
G4double | cut, | |||
G4double | tmax | |||
) | [protected] |
Definition at line 201 of file G4MuPairProductionModel.cc.
References ComputeDMicroscopicCrossSection(), SetCurrentElement(), wgi, and xgi.
Referenced by ComputeDEDXPerVolume().
00205 { 00206 SetCurrentElement(Z); 00207 G4double loss = 0.0; 00208 00209 G4double cut = std::min(cutEnergy,tmax); 00210 if(cut <= minPairEnergy) { return loss; } 00211 00212 // calculate the rectricted loss 00213 // numerical integration in log(PairEnergy) 00214 G4double ak1=6.9; 00215 G4double ak2=1.0; 00216 G4double aaa = log(minPairEnergy); 00217 G4double bbb = log(cut); 00218 G4int kkk = (G4int)((bbb-aaa)/ak1+ak2); 00219 if (kkk > 8) kkk = 8; 00220 else if (kkk < 1) { kkk = 1; } 00221 G4double hhh = (bbb-aaa)/(G4double)kkk; 00222 G4double x = aaa; 00223 00224 for (G4int l=0 ; l<kkk; l++) 00225 { 00226 00227 for (G4int ll=0; ll<8; ll++) 00228 { 00229 G4double ep = exp(x+xgi[ll]*hhh); 00230 loss += wgi[ll]*ep*ep*ComputeDMicroscopicCrossSection(tkin, Z, ep); 00231 } 00232 x += hhh; 00233 } 00234 loss *= hhh; 00235 if (loss < 0.) loss = 0.; 00236 return loss; 00237 }
void G4MuPairProductionModel::Initialise | ( | const G4ParticleDefinition * | , | |
const G4DataVector & | ||||
) | [virtual] |
Implements G4VEmModel.
Definition at line 161 of file G4MuPairProductionModel.cc.
References G4VEmModel::GetParticleChangeForLoss(), and SetParticle().
00163 { 00164 if (!samplingTablesAreFilled) { 00165 if(p) { SetParticle(p); } 00166 MakeSamplingTables(); 00167 } 00168 if(!fParticleChange) { fParticleChange = GetParticleChangeForLoss(); } 00169 }
G4double G4MuPairProductionModel::MaxSecondaryEnergy | ( | const G4ParticleDefinition * | , | |
G4double | kineticEnergy | |||
) | [protected, virtual] |
Reimplemented from G4VEmModel.
Definition at line 152 of file G4MuPairProductionModel.cc.
References particleMass, sqrte, and z13.
Referenced by ComputeCrossSectionPerAtom(), ComputeDEDXPerVolume(), ComputeMicroscopicCrossSection(), and SampleSecondaries().
00154 { 00155 G4double maxPairEnergy = kineticEnergy + particleMass*(1.0 - 0.75*sqrte*z13); 00156 return maxPairEnergy; 00157 }
G4double G4MuPairProductionModel::MinEnergyCut | ( | const G4ParticleDefinition * | , | |
const G4MaterialCutsCouple * | ||||
) | [virtual] |
void G4MuPairProductionModel::SampleSecondaries | ( | std::vector< G4DynamicParticle * > * | , | |
const G4MaterialCutsCouple * | , | |||
const G4DynamicParticle * | , | |||
G4double | tmin, | |||
G4double | maxEnergy | |||
) | [virtual] |
Implements G4VEmModel.
Definition at line 467 of file G4MuPairProductionModel.cc.
References currentZ, G4UniformRand, G4InuclParticleNames::gam, G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMomentum(), G4DynamicParticle::GetMomentumDirection(), G4Element::GetZ(), MaxSecondaryEnergy(), particle, particleMass, SetCurrentElement(), G4ParticleChangeForLoss::SetProposedKineticEnergy(), and G4ParticleChangeForLoss::SetProposedMomentumDirection().
00472 { 00473 G4double kineticEnergy = aDynamicParticle->GetKineticEnergy(); 00474 G4double totalEnergy = kineticEnergy + particleMass; 00475 G4double totalMomentum = 00476 sqrt(kineticEnergy*(kineticEnergy + 2.0*particleMass)); 00477 00478 G4ThreeVector partDirection = aDynamicParticle->GetMomentumDirection(); 00479 00480 G4int it; 00481 for(it=1; it<ntdat; ++it) { if(kineticEnergy <= tdat[it]) { break; } } 00482 if(it == ntdat) { --it; } 00483 G4double dt = log(kineticEnergy/tdat[it-1])/log(tdat[it]/tdat[it-1]); 00484 00485 // select randomly one element constituing the material 00486 const G4Element* anElement = 00487 SelectRandomAtom(kineticEnergy, dt, it, couple, tmin); 00488 SetCurrentElement(anElement->GetZ()); 00489 00490 // define interval of enegry transfer 00491 G4double maxPairEnergy = MaxSecondaryEnergy(particle,kineticEnergy); 00492 G4double maxEnergy = std::min(tmax, maxPairEnergy); 00493 G4double minEnergy = std::max(tmin, minPairEnergy); 00494 00495 if(minEnergy >= maxEnergy) { return; } 00496 //G4cout << "emin= " << minEnergy << " emax= " << maxEnergy 00497 // << " minPair= " << minPairEnergy << " maxpair= " << maxPairEnergy 00498 // << " ymin= " << ymin << " dy= " << dy << G4endl; 00499 00500 G4double logmaxmin = log(maxPairEnergy/minPairEnergy); 00501 00502 // select bins 00503 G4int iymin = 0; 00504 G4int iymax = nbiny-1; 00505 if( minEnergy > minPairEnergy) 00506 { 00507 G4double xc = log(minEnergy/minPairEnergy)/logmaxmin; 00508 iymin = (G4int)((log(xc) - ymin)/dy); 00509 if(iymin >= nbiny) iymin = nbiny-1; 00510 else if(iymin < 0) iymin = 0; 00511 xc = log(maxEnergy/minPairEnergy)/logmaxmin; 00512 iymax = (G4int)((log(xc) - ymin)/dy) + 1; 00513 if(iymax >= nbiny) iymax = nbiny-1; 00514 else if(iymax < 0) iymax = 0; 00515 } 00516 00517 // sample e-e+ energy, pair energy first 00518 G4int iz, iy; 00519 00520 for(iz=1; iz<nzdat; ++iz) { if(currentZ <= zdat[iz]) { break; } } 00521 if(iz == nzdat) { --iz; } 00522 00523 G4double dz = log(currentZ/zdat[iz-1])/log(zdat[iz]/zdat[iz-1]); 00524 00525 G4double pmin = InterpolatedIntegralCrossSection(dt,dz,iz,it,iymin,currentZ); 00526 G4double pmax = InterpolatedIntegralCrossSection(dt,dz,iz,it,iymax,currentZ); 00527 00528 G4double p = pmin+G4UniformRand()*(pmax - pmin); 00529 00530 // interpolate sampling vector; 00531 G4double p1 = pmin; 00532 G4double p2 = pmin; 00533 for(iy=iymin+1; iy<=iymax; ++iy) { 00534 p1 = p2; 00535 p2 = InterpolatedIntegralCrossSection(dt, dz, iz, it, iy, currentZ); 00536 if(p <= p2) { break; } 00537 } 00538 // G4cout << "iy= " << iy << " iymin= " << iymin << " iymax= " 00539 // << iymax << " Z= " << currentZ << G4endl; 00540 G4double y = ya[iy-1] + dy*(p - p1)/(p2 - p1); 00541 00542 G4double PairEnergy = minPairEnergy*exp( exp(y)*logmaxmin ); 00543 00544 if(PairEnergy < minEnergy) { PairEnergy = minEnergy; } 00545 if(PairEnergy > maxEnergy) { PairEnergy = maxEnergy; } 00546 00547 // sample r=(E+-E-)/PairEnergy ( uniformly .....) 00548 G4double rmax = 00549 (1.-6.*particleMass*particleMass/(totalEnergy*(totalEnergy-PairEnergy))) 00550 *sqrt(1.-minPairEnergy/PairEnergy); 00551 G4double r = rmax * (-1.+2.*G4UniformRand()) ; 00552 00553 // compute energies from PairEnergy,r 00554 G4double ElectronEnergy = (1.-r)*PairEnergy*0.5; 00555 G4double PositronEnergy = PairEnergy - ElectronEnergy; 00556 00557 // The angle of the emitted virtual photon is sampled 00558 // according to the muon bremsstrahlung model 00559 00560 G4double gam = totalEnergy/particleMass; 00561 G4double gmax = gam*std::min(1.0, totalEnergy/PairEnergy - 1.0); 00562 G4double gmax2= gmax*gmax; 00563 G4double x = G4UniformRand()*gmax2/(1.0 + gmax2); 00564 00565 G4double theta = sqrt(x/(1.0 - x))/gam; 00566 G4double sint = sin(theta); 00567 G4double phi = twopi * G4UniformRand() ; 00568 G4double dirx = sint*cos(phi), diry = sint*sin(phi), dirz = cos(theta) ; 00569 00570 G4ThreeVector gDirection(dirx, diry, dirz); 00571 gDirection.rotateUz(partDirection); 00572 00573 // the angles of e- and e+ assumed to be the same as virtual gamma 00574 00575 // create G4DynamicParticle object for the particle1 00576 G4DynamicParticle* aParticle1 = 00577 new G4DynamicParticle(theElectron, gDirection, 00578 ElectronEnergy - electron_mass_c2); 00579 00580 // create G4DynamicParticle object for the particle2 00581 G4DynamicParticle* aParticle2 = 00582 new G4DynamicParticle(thePositron, gDirection, 00583 PositronEnergy - electron_mass_c2); 00584 00585 // primary change 00586 kineticEnergy -= (ElectronEnergy + PositronEnergy); 00587 fParticleChange->SetProposedKineticEnergy(kineticEnergy); 00588 00589 partDirection *= totalMomentum; 00590 partDirection -= (aParticle1->GetMomentum() + aParticle2->GetMomentum()); 00591 partDirection = partDirection.unit(); 00592 fParticleChange->SetProposedMomentumDirection(partDirection); 00593 00594 // add secondary 00595 vdp->push_back(aParticle1); 00596 vdp->push_back(aParticle2); 00597 }
void G4MuPairProductionModel::SetCurrentElement | ( | G4double | Z | ) | [inline, protected] |
Definition at line 203 of file G4MuPairProductionModel.hh.
References currentZ, G4NistManager::GetLOGZ(), G4NistManager::GetZ13(), lnZ, nist, z13, and z23.
Referenced by ComputeCrossSectionPerAtom(), ComputeDEDXPerVolume(), ComputeDMicroscopicCrossSection(), G4hPairProductionModel::ComputeDMicroscopicCrossSection(), ComputeMicroscopicCrossSection(), ComputMuPairLoss(), and SampleSecondaries().
00204 { 00205 if(Z != currentZ) { 00206 currentZ = Z; 00207 G4int iz = G4int(Z); 00208 z13 = nist->GetZ13(iz); 00209 z23 = z13*z13; 00210 lnZ = nist->GetLOGZ(iz); 00211 } 00212 }
void G4MuPairProductionModel::SetLowestKineticEnergy | ( | G4double | e | ) | [inline] |
void G4MuPairProductionModel::SetParticle | ( | const G4ParticleDefinition * | ) | [inline] |
Definition at line 193 of file G4MuPairProductionModel.hh.
References G4ParticleDefinition::GetPDGMass(), particle, and particleMass.
Referenced by G4MuPairProductionModel(), and Initialise().
00194 { 00195 if(!particle) { 00196 particle = p; 00197 particleMass = particle->GetPDGMass(); 00198 } 00199 }
G4double G4MuPairProductionModel::currentZ [protected] |
Definition at line 151 of file G4MuPairProductionModel.hh.
Referenced by SampleSecondaries(), and SetCurrentElement().
G4double G4MuPairProductionModel::factorForCross [protected] |
Definition at line 148 of file G4MuPairProductionModel.hh.
Referenced by ComputeDMicroscopicCrossSection(), and G4hPairProductionModel::ComputeDMicroscopicCrossSection().
G4double G4MuPairProductionModel::lnZ [protected] |
Definition at line 154 of file G4MuPairProductionModel.hh.
Referenced by G4MuPairProductionModel(), and SetCurrentElement().
G4NistManager* G4MuPairProductionModel::nist [protected] |
Definition at line 146 of file G4MuPairProductionModel.hh.
Referenced by G4MuPairProductionModel(), and SetCurrentElement().
const G4ParticleDefinition* G4MuPairProductionModel::particle [protected] |
Definition at line 145 of file G4MuPairProductionModel.hh.
Referenced by ComputeCrossSectionPerAtom(), ComputeDEDXPerVolume(), ComputeMicroscopicCrossSection(), SampleSecondaries(), and SetParticle().
G4double G4MuPairProductionModel::particleMass [protected] |
Definition at line 150 of file G4MuPairProductionModel.hh.
Referenced by ComputeDMicroscopicCrossSection(), G4hPairProductionModel::ComputeDMicroscopicCrossSection(), G4MuPairProductionModel(), MaxSecondaryEnergy(), SampleSecondaries(), and SetParticle().
G4double G4MuPairProductionModel::sqrte [protected] |
Definition at line 149 of file G4MuPairProductionModel.hh.
Referenced by ComputeDMicroscopicCrossSection(), G4hPairProductionModel::ComputeDMicroscopicCrossSection(), and MaxSecondaryEnergy().
G4double G4MuPairProductionModel::wgi [static, protected] |
Initial value:
{ 0.0506, 0.1112, 0.1569, 0.1813, 0.1813, 0.1569, 0.1112, 0.0506 }
Definition at line 156 of file G4MuPairProductionModel.hh.
Referenced by ComputeDMicroscopicCrossSection(), G4hPairProductionModel::ComputeDMicroscopicCrossSection(), ComputeMicroscopicCrossSection(), and ComputMuPairLoss().
G4double G4MuPairProductionModel::xgi [static, protected] |
Initial value:
{ 0.0199, 0.1017, 0.2372, 0.4083, 0.5917, 0.7628, 0.8983, 0.9801 }
Definition at line 156 of file G4MuPairProductionModel.hh.
Referenced by ComputeDMicroscopicCrossSection(), G4hPairProductionModel::ComputeDMicroscopicCrossSection(), ComputeMicroscopicCrossSection(), and ComputMuPairLoss().
G4double G4MuPairProductionModel::z13 [protected] |
Definition at line 152 of file G4MuPairProductionModel.hh.
Referenced by ComputeDMicroscopicCrossSection(), G4hPairProductionModel::ComputeDMicroscopicCrossSection(), G4MuPairProductionModel(), MaxSecondaryEnergy(), and SetCurrentElement().
G4double G4MuPairProductionModel::z23 [protected] |
Definition at line 153 of file G4MuPairProductionModel.hh.
Referenced by ComputeDMicroscopicCrossSection(), G4hPairProductionModel::ComputeDMicroscopicCrossSection(), G4MuPairProductionModel(), and SetCurrentElement().