57 "C" ,
"N" ,
"O" ,
"F" ,
"Ne",
"Na",
"Mg",
"Al",
"Si",
"P" ,
"S",
"Cl",
"Ar",
"K" ,
"Ca",
"Sc",
58 "Ti",
"V" ,
"Cr",
"Mn",
"Fe",
"Co",
"Ni",
"Cu",
"Zn",
"Ga",
"Ge",
"As",
"Se",
"Br",
"Kr",
"Rb",
59 "Sr",
"Y" ,
"Zr",
"Nb",
"Mo",
"Tc",
"Ru",
"Rh",
"Pd",
"Ag",
"Cd",
"In",
"Sn",
"Sb",
"Te",
"I" ,
60 "Xe",
"Cs",
"Ba",
"La",
"Ce",
"Pr",
"Nd",
"Pm",
"Sm",
"Eu",
"Gd",
"Tb",
"Dy",
"Ho",
"Er",
"Tm",
61 "Yb",
"Lu",
"Hf",
"Ta",
"W" ,
"Re",
"Os",
"Ir",
"Pt",
"Au",
"Hg",
"Tl",
"Pb",
"Bi",
"Po",
"At",
62 "Rn",
"Fr",
"Ra",
"Ac",
"Th",
"Pa",
"U" ,
"Np",
"Pu",
"Am",
"Cm",
"Bk",
"Cf"};
83 G4int ekinIndxLow = 0;
90 ekinIndxLow = (
G4int)remRfaction;
91 remRfaction -= ekinIndxLow;
95 ekinIndxLow = (
G4int)remRfaction;
96 remRfaction -= ekinIndxLow;
103 if (remRfaction>0.) {
130 for (
size_t imc=0; imc<numMatCuts; ++imc) {
138 size_t numElems = elemVect->size();
139 for (
size_t ielem=0; ielem<numElems; ++ielem) {
140 const G4Element *elem = (*elemVect)[ielem];
162 for (
size_t imc=0; imc<numMatCuts; ++imc) {
183 char* tmppath = std::getenv(
"G4LEDATA");
185 G4Exception(
"G4GSPWACorrection::LoadDataElement()",
"em0006",
187 "Environment variable G4LEDATA not defined");
190 std::string path(tmppath);
192 path +=
"/msc_GS/PWACor/el/";
194 path +=
"/msc_GS/PWACor/pos/";
198 if (!infile.is_open()) {
199 std::string msg =
" Problem while trying to read " + fname +
" data file.\n";
223 constexpr
G4double finstrc2 = 5.325135453E-5;
226 constFactor *= constFactor;
248 for (
G4int ielem=0; ielem<numElems; ++ielem) {
249 G4double zet = (*elemVect)[ielem]->GetZ();
253 G4double iwa = (*elemVect)[ielem]->GetN();
254 G4double ipz = nbAtomsPerVolVect[ielem]/totNbAtomsPerVol;
257 ze += dum*(-2.0/3.0)*
G4Log(zet);
258 zx += dum*
G4Log(1.0+3.34*finstrc2*zet*zet);
263 moliereBc = const1*density*zs/sa*
G4Exp(ze/zs)/
G4Exp(zx/zs);
264 moliereXc2 = const2*density*zs/sa;
280 for (
G4int ielem=0; ielem<numElems; ++ielem) {
281 const G4Element *elem = (*elemVect)[ielem];
291 G4double nZZPlus1 = nbAtomsPerVolVect[ielem]*zet*(zet+1.0)/totNbAtomsPerVol;
303 mcScrCF *= constFactor*Z23/(4.*
pt2);
321 if (ielem==numElems-1) {
326 perMat->
fCorScreening[iek] = constFactor*dumScr*moliereBc/moliereXc2;
336 G4double G2PerG1 = 3.*(1.+scrCorTed)*((1.+2.*scrCorTed)*dum0-2.)/((1.+scrCorTed)*dum0-1.);