61 lowEnergy(emin), highEnergy(emax)
66 element = (*theElementVector)[0];
67 if(nElmMinusOne > 0) {
70 xSections.push_back(v0);
74 xSections.push_back(v);
84 if(nElmMinusOne > 0) {
85 for(
G4int i=0; i<=nElmMinusOne; ++i) {
97 if(0 == nElmMinusOne || cut == cutEnergy) {
return; }
106 for(
G4int j=0; j<=nbins; ++j) {
108 model->SetupForMaterial(part, material, e);
111 for (
G4int i=0; i<=nElmMinusOne; ++i) {
112 cross += theAtomNumDensityVector[i]*
113 model->ComputeCrossSectionPerAtom(part, (*theElementVector)[i], e,
115 xSections[i]->PutValue(j, cross);
120 if(0.0 == (*xSections[nElmMinusOne])[0]) {
121 for (
G4int i=0; i<=nElmMinusOne; ++i) {
122 xSections[i]->PutValue(0, (*xSections[i])[1]);
126 if(0.0 == (*xSections[nElmMinusOne])[nbins]) {
127 for (
G4int i=0; i<=nElmMinusOne; ++i) {
128 xSections[i]->PutValue(nbins, (*xSections[i])[nbins-1]);
132 for(
G4int j=0; j<=nbins; ++j) {
133 cross = (*xSections[nElmMinusOne])[j];
136 for (
G4int i=0; i<nElmMinusOne; ++i) {
138 xSections[i]->PutValue(j, x);
149 G4cout <<
"======== G4EmElementSelector for the " <<
model->GetName();
152 if(0 < nElmMinusOne) {
153 for(
G4int i=0; i<nElmMinusOne; i++) {
154 G4cout <<
" " << (*theElementVector)[i]->GetName() <<
" : " <<
G4endl;
158 G4cout <<
"Last Element in element vector "
159 << (*theElementVector)[nElmMinusOne]->GetName()