81 #ifdef G4MULTITHREADED
91 fIsUseSamplingTables(
true), fNumWarnings(0), fIndx(0), fIndy(0)
103 for (
size_t iz = 0; iz <
gMaxZet; ++iz) {
127 size_t numOfCouples = theCoupleTable->GetTableSize();
128 for(
size_t j=0; j<numOfCouples; ++j) {
129 auto mat = theCoupleTable->GetMaterialCutsCouple(j)->GetMaterial();
130 auto elmVec =
mat->GetElementVector();
131 size_t numOfElem =
mat->GetNumberOfElements();
132 for (
size_t ie = 0; ie < numOfElem; ++ie) {
164 const char* path = std::getenv(
"G4LEDATA");
166 std::ostringstream ost;
167 ost << path <<
"/brem_SB/br";
170 G4Exception(
"G4SeltzerBergerModel::FindDirectoryPath()",
"em0006",
172 "Environment variable G4LEDATA not defined");
183 std::ostringstream ost;
185 std::ifstream
fin(ost.str().c_str());
186 if (!
fin.is_open()) {
188 ed <<
"Bremsstrahlung data file <" << ost.str().c_str()
189 <<
"> is not opened!";
191 ed,
"G4LEDATA version should be G4EMLOW6.23 or later.");
204 ed <<
"Bremsstrahlung data file <" << ost.str().c_str()
205 <<
"> is not retrieved!";
207 ed,
"G4LEDATA version should be G4EMLOW6.23 or later.");
235 const G4double invbeta1 = std::sqrt(invb2);
243 dxsec *=
G4Exp(dum0);
269 logKinEnergy, tmin, tmax);
285 if (gammaEnergy <= 0.) {
296 vdp->push_back(gamma);
301 const G4double finalE = kinEnergy - gammaEnergy;
348 ((kinEnergy>kEPeakLim) || (kinEnergy<kELowLim))) {
358 static const G4int kNCountMax = 100;
383 ed <<
"### G4SeltzerBergerModel Warning: Majoranta exceeded! "
384 << v <<
" > " << vmax <<
" by " << v/vmax
386 <<
" Egamma(MeV)= " << gammaEnergy
387 <<
" Ee(MeV)= " << kinEnergy
391 ed <<
"\n ### G4SeltzerBergerModel Warnings stopped";
393 G4Exception(
"G4SeltzerBergerModel::SampleScattering",
"em0044",
396 if (v >= vmax*rndm[1]) {
407 #ifdef G4MULTITHREADED
412 #ifdef G4MULTITHREADED